169 похожих чатов

Ассалому алайкум! Тут у меня опять старчиский маразм играет… Есть два жсон

файла. необходимо скопировать некотрые узлы с первого на второй и изменять некоторые значение на втором.
Читать сумел, удалить узлы сумел, вот получить узел одного и добавить на другой не получается… Не догоняю советам гугла… :(
Может кто покажить на пальцах или линк укажет туда, где читать?

26 ответов

30 просмотров

может TSuperObject.Clone то, что тебе нужно? XSuperObject

Михаил Усков
может TSuperObject.Clone то, что тебе нужно? XSupe...

лучше сразу на встроенный переходить, чтобы потом не было мучительно больно при переходе с суперобжекта

Делаешь clone нужной ветки, прицепляешь к новому джейсону. Смело удаляешь ветку на старом джейсоне. Можно в принципе и без Clone, если уверен, что не будет коллизий

по жсонам есть одна большая но уж очень убогая статья, она обычно первая в гугле. Сделай новый проект и делай свои задачи пошагово в тестовом режиме. Я так делал

Михаил Усков
а зачем с него переходить... потом...?

потому что хсуперобжект не обновляется. А у встроенного есть некоторые преимущества, но им придётся заново учиться пользоваться

Igor
так и джейсон не поменялся

а методы работы с ним могут отличаться

Неъматжон- Автор вопроса
Renat Suleymanov
Делаешь clone нужной ветки, прицепляешь к новому д...

tmpjv:=srcJsonValue.FindValue(‘data1’).clone; destJsonValue. // Дальше что?

Renat Suleymanov
aSomeJSON.AddObject(tmpjv);

Цеплять конечно в нужно узле нужно

Неъматжон- Автор вопроса
Renat Suleymanov
aSomeJSON.AddObject(tmpjv);

aSomeJSON какой класс?

Неъматжон
че?

Ну в этом aSOMEJSON находишь и переходишь на нужный узел в объекте и к нему добавляешь объект AddObject. В случае выше он к корню добавится

Неъматжон
aSomeJSON какой класс?

Не важно. TJSONObject или TJSONArray. В общем случае, TJSONData

Serjone
лучше сразу на встроенный переходить, чтобы потом ...

надо ли с него переходить? в пределах фич суперобджект работает отлично. json врятли изменится

Неъматжон
че?

Грубо говоря, к примеру, вот так (aSomeJSON.FindPath('data.user.feed_reels_tray.edge_reels_tray_to_reel.edges') as TJSONObject).AddObject или как там ты маршрутизируешь к нужному узлу

Handatros
надо ли с него переходить? в пределах фич суперобд...

Вопрос больше надо ли было на него переходит. Нужно ли сходить вопрос вторичный )

Renat Suleymanov
Вопрос больше надо ли было на него переходит. Нужн...

не обязательно на него переходить. можно сразу на нем писать ) к хорошему привыкаешь быстро, позже на странных реализациях начинается пачка вопросов

Неъматжон- Автор вопроса
Неъматжон
screenshot ? нет AddObject… :( Или не там мучаюсь?

Я по памяти, Ну AddPair тоже можно использовать. Я то про аналог в Lazarus говорю. А у тебя дельфи видимо

Неъматжон
screenshot ? нет AddObject… :( Или не там мучаюсь?

Или просто Add. Уже не помню. Но AddPair тоже можно

Handatros
надо ли с него переходить? в пределах фич суперобд...

Потому что работа с жсонами может быть разной. Иногда проще запилить класс и восстанавливать его из жсона, а дальше работать с полями класса. Так же и в обратную сторону. Хитрую структуру можно создать в классе и потом из него сделать строку. И это уже встроено в делфи. А если пользоваться встроенным, то зачем ещё разбираться с суперобжектом? Я за него взялся, когда не разобрался, как пользоваться встроенным. Ибо нормального описания для начинающих нет. Но пришёл Гена и показал как надо. Теперь мне суперобжект не такой удобный. Хотя у него есть свои преимущества.

Serjone
Потому что работа с жсонами может быть разной. Ино...

всё описанное конечно же отлично работает в SO, пара строк кода буквально. использую

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта