LINQ to JSON в .NET - PullRequest
       2

LINQ to JSON в .NET

12 голосов
/ 16 февраля 2011

Есть ли такая вещь, как JSON файл?То есть * .json?

Можно ли использовать JSON в коде C # без каких-либо JavaScript-вещей, вроде замены XML?

И есть ли официальные LINQ * 1008?* что-то вроде JSON для C #?

Я нашел один веб-сайт для моего последнего вопроса, но он занял страницу, чтобы загрузить JSON.NET, и эта страница, похоже, ничего не упоминает о LINQ.

Ответы [ 3 ]

5 голосов
/ 16 февраля 2011
  1. Да, существует такая вещь, как файл * .json. Тип MIME: application/json ( источник ). JSON - это текстовый формат, поэтому вы можете гипотетически хранить данные в формате JSON в текстовом файле с любым расширением, которое вы выберете.

  2. JSON может использоваться абсолютно независимо от JavaScript. В некоторых случаях это, вероятно, лучше подходит для представления ваших данных, чем XML. У JSON.org есть отличная страница сравнения между JSON и XML .

  3. JSON.org перечисляет несколько библиотек JSON для C # (например, JSON.NET, которые вы уже обнаружили), и большинство (если не все) коллекций, которые эти библиотеки используют, должны поддержка LINQ. JSON.NET определенно предлагает поддержку для этого. См. здесь или здесь .

2 голосов
/ 16 февраля 2011

Каждый стремится придерживаться JavaScriptSerializer (из библиотеки System.Web.Extensions) при работе с JSON в .NET.Удобной частью этого является возможность создания пользовательского JavaScriptConverter , который будет принимать пользовательские объекты и сериализовать их так, как вы выбрали.Кроме того, вы можете создать метод десериализации для получения в пользовательском формате JSON.

Хотя это, конечно, зависит от вашего приложения.Учитывая, что это приложение Windows Forms , есть ли какая-то особая причина, по которой вы предпочли бы JSON для хранения информации изначально или просто использовать формат XML?Если ваше приложение обменивается данными с веб-страницами, вероятно, лучше всего подойдет JavaScriptSerializer, хотя, если вы используете его для хранения / извлечения настроек, я бы использовал XML.И, если необходимо синхронизировать ваше приложение с веб-приложением, просто сериализуйте его в JSON, когда время будет готово.

1 голос
/ 16 февраля 2011

Вы можете десериализовать ваш JSON-файл в объекты C #.После этого вы можете запросить LINQ по этим объектам.

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