json.net учебник
Начало работы с json.net
Поиск…
замечания
[Json.NET] [1] - популярная высокопроизводительная среда JSON для .NET. Это сборка .Net, которая предоставляет широкий спектр классов и методов для выполнения общих задач с данными json.
Это включает в себя возможность делать такие вещи, как сериализация данных json в экземплярах классов, файлы данных, а также десериализацию данных json, которые могут поступать из разных источников, например, из конечной точки API или из .json
данных .json
.
Версии
Версия | Дата выхода |
---|---|
Json.NET 9.0.1 (текущая версия) | 2016-06-22 |
Json.NET 8.0.3 | 2016-03-14 |
Json.NET 8.0.2 | 2016-01-09 |
Json.NET 8.0.1 | 2015-12-29 |
Json.NET 7.0.1 | 2015-06-22 |
Json.NET 6.0.8 | 2015-01-11 |
Json.NET 6.0.7 | 2014-12-23 |
Json.NET 6.0.6 | 2014-10-24 |
Json.NET 6.0.5 | 2014-09-06 |
Json.NET 6.0.4 | 2014-08-03 |
Json.NET 6.0.3 | 2014-04-27 |
Json.NET 6.0.2 | 2014-03-30 |
Json.NET 6.0.1 | 2014-02-01 |
Json.NET 5.0.8 | 2013-10-17 |
Json.NET 5.0.7 | 2013-10-14 |
Json.NET 5.0.6 | 2013-06-06 |
Json.NET 5.0.5 | 2013-05-08 |
Json.NET 5.0.4 | 2013-04-25 |
Json.NET 5.0.3 | 2013-04-14 |
Json.NET 5.0.2 | 2013-04-08 |
Json.NET 5.0.1 | 2013-04-07 |
Json.NET 4.5.11 | 2012-11-20 |
Json.NET 4.5.10 | 2012-10-07 |
Json.NET 4.5.9 | 2012-09-08 |
Json.NET 4.5.8 | 2012-08-04 |
Json.NET 4.5.7 | 2012-06-09 |
Json.NET 4.5.6 | 2012-05-30 |
Json.NET 4.5.5 | 2012-05-08 |
Json.NET 4.5.4 | 2012-04-24 |
Json.NET 4.5.3 | 2012-04-13 |
Json.NET 4.5.2 | 2012-04-11 |
Json.NET 4.5.1 | 2012-03-20 |
Json.NET 4.0.8 | 2012-02-12 |
Json.NET 4.0.7 | 2012-01-24 |
Json.NET 4.0.6 | 2012-01-23 |
Json.NET 4.0.5 | 2011-12-10 |
Json.NET 4.0.4 | 2011-11-19 |
Json.NET 4.0.3 | 2011-10-02 |
Json.NET 4.0.2 | 2011-04-23 |
Json.NET 4.0.1 | 2011-04-22 |
Json.NET 3.5.8 | 2011-01-08 |
Как установить Json.Net в проектах Visual Studio
Вы можете установить Json.Net в свой проект Visual Studio одним из 2 способов.
Установите Json.Net с помощью консоли диспетчера пакетов.
- Откройте окно консоли диспетчера пакетов в Visual Studio, набрав консоль диспетчера пакетов в окне быстрого запуска и выбрав его
или нажав « Просмотр» -> « Другие Windows» -> « Менеджер пакетов» .
- После того, как консоль диспетчера пакетов видна, выберите проект в своем решении, в который вы хотите установить Json.Net, выбрав его в раскрывающемся списке « Проект по умолчанию» .
- Теперь введите следующую команду и нажмите enter.
Install-Package Newtonsoft.Json
- Это установит последнюю версию Json.Net. Вы увидите ход установки в консоли диспетчера пакетов. В случае успеха вы получите сообщение о том, что оно было успешно установлено в выбранный проект.
- После успешной установки вы сможете увидеть сборку Json.Net в ссылках в выбранном проекте. Название сборки
Newtonsoft.Json
-Newtonsoft.Json
Json.Net теперь готов к использованию в вашем проекте!
Установите Json.Net с помощью обозревателя решений Visual Studio.
Вы также можете установить json.net с помощью Обозревателя решений в Visual Studio.
Щелкните правой кнопкой мыши узел « Ссылки» в вашем проекте и выберите « Управление пакетами Nuget» ...
В диалоговом окне « Диспетчер пакетов Nuget» убедитесь, что в левой панели выбран « Интернет» . Введите Json.Net в поле поиска в правом верхнем углу. Это отобразит пакет Json.Net Nuget в панели результатов поиска посередине.
Нажмите кнопку « Установить» .
- Вы увидите ход установки в окне прогресса, которое появится.
- По завершении установки вы увидите зеленую галочку рядом с пакетом Json.Net в диалоговом окне диспетчера пакетов Nuget .
- Вы также увидите
Newtonsoft.Json
в узле « Ссылки» в своемNewtonsoft.Json
решений для выбранного проекта.
Это завершает установку Json.Net. Теперь вы готовы использовать его в своем проекте для выполнения различных операций с данными json.
Сериализация объекта JSON с использованием Json.Net в C #
В следующем примере показано, как вы можете использовать Json.Net для сериализации данных в экземпляре объекта C #, в строку JSON.
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public bool IsManager { get; set; }
public DateTime JoinedDate { get; set; }
public IList<string> Titles { get; set; }
}
public class Program
{
public static void Main()
{
Employee employee = new Employee
{
FirstName = "Shiva",
LastName = "Kumar",
IsManager = true,
JoinedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
Titles = new List<string>
{
"Sr. Software Engineer",
"Applications Architect"
}
};
string json = JsonConvert.SerializeObject(employee, Formatting.Indented);
Console.WriteLine(json);
}
}
Если вы запустите эту консольную программу, вывод Console.WriteLine(json)
будет
{
"FirstName": "Shiva",
"LastName": "Kumar",
"IsManager": true,
"JoinedDate": "2013-01-20T00:00:00Z",
"Titles": [
"Sr. Software Engineer",
"Applications Architect"
]
}
Мало что нужно отметить
Следующая строка выполняет фактическую сериализацию данных внутри экземпляра класса
employee
в строку jsonstring json = JsonConvert.SerializeObject(employee, Formatting.Indented);
Параметр
Formatting.Indented
указывает Json.Net на сериализацию данных с отступом и новыми строками. Если вы этого не сделаете, сериализованная строка будет одной длинной строкой без отступов или разрывов строк.
Как десериализовать данные JSON для объекта с использованием Json.Net в C #
В следующем примере показано, как можно десериализовать строку JSON, содержащуюся в Object (т.е. в экземпляр класса).
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Program
{
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public bool IsManager { get; set; }
public DateTime JoinedDate { get; set; }
public IList<string> Titles { get; set; }
}
public static void Main()
{
string json = @"{
'FirstName': 'Shiva',
'LastName': 'Kumar',
'IsManager': true,
'JoinedDate': '2014-02-10T00:00:00Z',
'Titles': [
'Sr. Software Engineer',
'Applications Architect'
]
}";
Employee employee = JsonConvert.DeserializeObject<Employee>(json);
Console.WriteLine(employee.FirstName);
Console.WriteLine(employee.LastName);
Console.WriteLine(employee.JoinedDate);
foreach (string title in employee.Titles)
{
Console.WriteLine(" {0}", title);
}
}
}
Если вы запустите эту консольную программу, вывод различных операторов Console.WriteLine
будет следующим.
Shiva
Kumar
2/10/2014 12:00:00 AM
Sr. Software Engineer
Applications Architect
Мало что нужно отметить
- Следующая строка выполняет фактическую десериализацию данных в строке json в экземпляр объекта
employee
классаEmployee
.
Employee employee = JsonConvert.DeserializeObject<Employee>(json);
- Поскольку
employee.Titles
- это типList<string>
, мы используем конструкцию циклаforeach
для циклического прохождения каждого элемента в этомList
.