Я очень новичок в JSON, и мне нужно разобрать некоторые, которые предоставляет API. Быстрый поиск google появился JSON.NET, поэтому я пытаюсь использовать его сейчас, чтобы разобрать этот JSON в объект списка. Прежде всего, является JSON.NET лучшей библиотекой для использования для этого?Deserializing некоторый JSON с JSON.NET
Это то, что я пытаюсь сделать: например, у меня есть класс , который называется Item. В json есть много «элементов» (если это то, что они называются), и каждый содержит 3 поля: целое число с именем id, строкой с именем name и датой с именем creationTime. Я хотел бы проанализировать все эти элементы «Элементы» из json в список предметов объекта. Я создал 3 поля в классе Item для соответствия JSON. Как это можно сделать с помощью JSON.NET?
Я пробовал:
List<Item> fav = (List<Item>)new JsonSerializer().Deserialize(new JsonReader((TextReader)new StreamReader(response.GetResponseStream())));
, но это не похоже на работу. Я получаю ошибку кастинга - она просто не может обработать ее в оболочке списка, но я даже не уверен, способен ли она обрабатывать JSON в один класс Item (JSON.NET не очень хорошо документирован, м будет отлаживать его завтра).
Можете ли вы дать мне пример кода, чтобы объяснить, как я могу разобрать его с помощью JSON.NET?
Спасибо!
ОБНОВЛЕНИЕ: Кстати, забыл упомянуть - мой проект будет нацелен на .NET Framework 2.0, поэтому я использую устаревшую версию JSON.NET: 1.3.1. Существуют ли какие-либо ОГРОМНЫЕ преимущества, которые могут сделать проект целесообразным преобразовать в .NET 3.5, подрывая минимальные системные требования?
UPDATE # 2: я решил использовать класс JavaScriptSerializer в System.Web.Extensions.dll вместо Json.NET, и вопрос о том, что размещена here. Благодаря!
«Похоже, работа "не очень подробно. Что происходит? И да, я бы сказал, что LINQ является довольно большим преимуществом для .NET 3.5 в целом, а также означает, что вы можете использовать более современную версию JSON.NET. –
@ Хорошо, прежде всего, насколько я знаю, это первый раз, когда вы ответили на один из моих сообщений, так что спасибо! К сожалению, я не знаю LINQ, но я хочу это узнать! Тогда я попытаюсь начать использовать более новую версию. Что не работает, так это то, что я получаю ошибку кастинга - она просто не может преобразовать ее в такой список. По крайней мере, я считаю, что это значит, поскольку JSON.NET не очень хорошо документирован. Кто-нибудь раньше использовал JSON.NET, и если да, то могли бы вы объяснить, как вы подходите к такой проблеме?Благодаря! ;) –
Я подозреваю, что проблема в том, что вы специально просите о помощи с более старой версией JSON.NET; многие люди будут знакомы только с обновленной версией. –