Как я могу перемещаться по любому дереву JSON в c #? - PullRequest
5 голосов
/ 09 февраля 2011

Мне нужно перемещаться по структуре Json так же, как и по XML, используя XmlDocument.

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

Возможно ли это?
Я знаю, что могу использовать JavaScriptSerializer для десериализации его в известный тип, но это не тот случай, так как я могу получить любой действительный json.

I 'Я использую .NET 3.5 (SP1) и в настоящее время не могу обновиться до 4.0.
Я обновился до .NET 4.0, чтобы использовать динамические типы (это код, созданный Awesomeness)

1 Ответ

3 голосов
/ 09 февраля 2011

Прочитайте эту статью:

Он объясняет вам способ синтаксического анализа JSON для динамического объекта, в котором есть словарь.

Итак, итерация словаря была бы хороша с LINQ, не так ли?

--- ИЛИ ЕСЛИ ВЫ В .NET 3.5 ... ---;)

Почему бы вам не реализовать метод расширения, такой как "ToDictionary"?

Вы можете получить текст в формате JSON, затем проанализировать его с помощью регулярного выражения и разделить свойства и значения в словарь, и все это будет сделано с помощью предложенного метода расширения.

Пример того, как это будет работать:

IDictionary<string, object> deserializedJson = jsonText.ToDictionary();

Подходит для ваших нужд?

--- ДАЖЕ ДАЖЕ ПОПРОБУЙТЕ (теперь у вас есть больше возможностей)! ---

Проверьте этот проект с открытым исходным кодом на CodePlex:

Он имеет LINQ-to-JSON, поэтому вы можете читать и писать JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...