Вопрос по десериализации JSON в C#

dmitya

Client
Регистрация
10.08.2013
Сообщения
179
Благодарностей
78
Баллы
28
Имеем ответ от сервера в JSON в виде сложной структурной иерархии. Необходимо вытащить последовательную структуру. В принципе, названия всех полей до нужной структуры известны, JSONPath можно прописать, чтобы потом перебрать вложенные поля в foreach, НО!
В структуре JSON есть одно поле, которое меняется в зависимости от переменной (конкретно - логин).
Парсинг JSON делается стандартно - project.Json.FromString(String);

Например, надо получить и проанализировать стуктуру record, которая находится в project.Json.result.accounts.ЛОГИН.record, где ЛОГИН - это как раз перемеренное поле в общей структуре JSON.

Вопрос: как можно получить результат, если сам ЛОГИН нам известен?
 

dmitya

Client
Регистрация
10.08.2013
Сообщения
179
Благодарностей
78
Баллы
28
Тему можно удалить, раз никто не знает.
Вопрос решился предварительным парсингом регуляркой куска JSON с нужной структурой.
 

ByMagnum

Client
Регистрация
28.07.2017
Сообщения
37
Благодарностей
6
Баллы
8
Делайте foreach в виде вложений )

дошли до нужной структуры - делаем банально break;

foreach не будет перебирать если массив (предпологаемый) будет пуст или если переменная не является массивом

насчет ошибок - php точно не выбрасывает, js сбрасывает в консоль, а вот шарп - пока не знаю - не добрался ) скорее тоже выбрасывает, поэтому можно проверить переменную перед запуском цикла foreach и запустить также все в цикле в виде вложений )

если конечно задача у Вас "резиновая".

так будет проще по всей видимости и надежности.

а далее проверяем на выходе переменную if ... и поехали дальше )
 

dmitya

Client
Регистрация
10.08.2013
Сообщения
179
Благодарностей
78
Баллы
28
Делайте foreach в виде вложений )

дошли до нужной структуры - делаем банально break;

foreach не будет перебирать если массив (предпологаемый) будет пуст или если переменная не является массивом

насчет ошибок - php точно не выбрасывает, js сбрасывает в консоль, а вот шарп - пока не знаю - не добрался ) скорее тоже выбрасывает, поэтому можно проверить переменную перед запуском цикла foreach и запустить также все в цикле в виде вложений )

если конечно задача у Вас "резиновая".

так будет проще по всей видимости и надежности.

а далее проверяем на выходе переменную if ... и поехали дальше )
Так не пойдет. Мне потом нужно анализировать внутреннюю структуру, т.е. нужно указать полный "путь" до нужных данных.
Да уже не важно. Я десериализировал не полный ответ сервера, а сначала спарсил регуляркой нужный мне кусок и потом уже его десериализировал в структуру JSON, в которой все ключи записей - статичны.

ЗЫ: А вот в уже полученной структуре конечно делал foreach c анализом
 

ByMagnum

Client
Регистрация
28.07.2017
Сообщения
37
Благодарностей
6
Баллы
8
Мне потом нужно анализировать внутреннюю структуру, т.е. нужно указать полный "путь" до нужных данных.
внутри цикла/ов все указывается и статичные пути "резиново" и все что потребуется


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

dmitya

Client
Регистрация
10.08.2013
Сообщения
179
Благодарностей
78
Баллы
28
отлично что справились с задачей, хорошо бы выложили код сюда, тем кому понадобится - чтобы по запросу могли найти нужный ответ
Так и выложил же уже. 2 раза.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)