Мы пытаемся написать способ использования JSON-канала у третьей стороны, но, к сожалению, он не очень хорошо написан, не существует правил о том, что иногда бывает или нет, а также изменяется структура в зависимости от на ключе, у меня нет способа изменить это, мы должны работать с тем, что имеем. Мы знаем, что мы хотим, основываясь на определенных ключах, но мы изо всех сил пытаемся найти их в качестве изменений вложенной структуры.Запрос JSON с неизвестной структурой
Можно ли сгладить JSON до одного списка> что мы можем запросить и ключ будет полное имя, включая родителей, поэтому следующий JSON:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
бы стать список с ключами как:
"employees.firstName" and a value of "John".
Я думаю, что если бы мы могли получить к этому мы могли бы запросить данные для того, что мы хотим, мы пытались использовать динамические объекты, но, как я сказал, что изменения в формате JSON и свойства отсутствуют иногда и это доказывает невозможно обрабатывать все сценарии.
можно разобрать любую JSON в 'dictionary' так что вы можете' сотрудников [ "FirstName "]' is '' John "' – Grundy
Это было очень упрощенное решение, к сожалению, JSON, который мы получаем, очень вложен, иногда на 10 слоев, и, как я уже сказал, мы не всегда знаем, как он будет выглядеть, но имена свойств set, поэтому, если бы мы могли получить строку с ключом типа level1.level2.level3.level4.level5.firstName, тогда мы могли бы запросить «firstName». – user351711
вы можете увидеть о [JObject] (http://james.newtonking.com/json/help/index.html?topic=html/T_Newtonsoft_Json_Linq_JObject.htm) и JSON.Net – Grundy