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

  • Автор темы Автор темы dmitya
  • Дата начала Дата начала

dmitya

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

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

Вопрос: как можно получить результат, если сам ЛОГИН нам известен?
 
Тему можно удалить, раз никто не знает.
Вопрос решился предварительным парсингом регуляркой куска JSON с нужной структурой.
 
Делайте foreach в виде вложений )

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

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

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

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

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

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

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

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

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

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

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

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

ЗЫ: А вот в уже полученной структуре конечно делал foreach c анализом
 
Мне потом нужно анализировать внутреннюю структуру, т.е. нужно указать полный "путь" до нужных данных.

внутри цикла/ов все указывается и статичные пути "резиново" и все что потребуется


Да уже не важно.

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

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