Десериализовать JSON в C # - PullRequest
0 голосов
/ 18 июня 2011

Я пытаюсь десериализовать этот json с помощью C #:

{"query":
    {"count":10,"created":"2011-06-18T19:15:24Z","lang":"en-US","results":
          {"Result":[{"id":"21373494","Title":"Sushi Bistro","Address":"455 Balboa     St","Rating":
              {"AverageRating":"5"}   
          } 
          {"Result":[{"id":"21373495","Title":"Sushi Bistro","Address":"4565 Balboa     St","Rating":
              {"AverageRating":"1"}   
          } 
    }
 }

Я пробовал Newton json.NET, затем использовал класс JSONHelper, но это не сработало.Может ли кто-нибудь предоставить краткий пример того, как десериализовать объект и перебрать 'Result' в C #?

ОБНОВЛЕНИЕ: извините за недопустимый json, выходной результат очень большой, поэтому я попытался скопировать только небольшую часть.Однако вы можете увидеть образец Result, установленного здесь.

Ответы [ 2 ]

3 голосов
/ 18 июня 2011

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

Вы можете использовать сервис jsonlint для проверки json.

Пример десериализации JSON из строки с использованием Newton JSON DLL:

var json = "..";

string output = JsonConvert.DeserializeObject<MyClass>(json);
0 голосов
/ 18 июня 2011

См. Это сообщение в блоге об использовании C # 4.0 и динамического анализа JSON .

...