Поиск…


замечания

[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 с помощью консоли диспетчера пакетов.

  1. Откройте окно консоли диспетчера пакетов в Visual Studio, набрав консоль диспетчера пакетов в окне быстрого запуска и выбрав его

введите описание изображения здесь

или нажав « Просмотр» -> « Другие Windows» -> « Менеджер пакетов» .

  1. После того, как консоль диспетчера пакетов видна, выберите проект в своем решении, в который вы хотите установить Json.Net, выбрав его в раскрывающемся списке « Проект по умолчанию» .

введите описание изображения здесь

  1. Теперь введите следующую команду и нажмите enter.

Install-Package Newtonsoft.Json

  1. Это установит последнюю версию Json.Net. Вы увидите ход установки в консоли диспетчера пакетов. В случае успеха вы получите сообщение о том, что оно было успешно установлено в выбранный проект.

введите описание изображения здесь

  1. После успешной установки вы сможете увидеть сборку Json.Net в ссылках в выбранном проекте. Название сборки Newtonsoft.Json - Newtonsoft.Json

введите описание изображения здесь

Json.Net теперь готов к использованию в вашем проекте!

Установите Json.Net с помощью обозревателя решений Visual Studio.

Вы также можете установить json.net с помощью Обозревателя решений в Visual Studio.

  1. Щелкните правой кнопкой мыши узел « Ссылки» в вашем проекте и выберите « Управление пакетами Nuget» ...

  2. В диалоговом окне « Диспетчер пакетов Nuget» убедитесь, что в левой панели выбран « Интернет» . Введите Json.Net в поле поиска в правом верхнем углу. Это отобразит пакет Json.Net Nuget в панели результатов поиска посередине.

  3. Нажмите кнопку « Установить» .

введите описание изображения здесь

  1. Вы увидите ход установки в окне прогресса, которое появится.

введите описание изображения здесь

  1. По завершении установки вы увидите зеленую галочку рядом с пакетом Json.Net в диалоговом окне диспетчера пакетов Nuget .

введите описание изображения здесь

  1. Вы также увидите 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"
  ]
}

Мало что нужно отметить

  1. Следующая строка выполняет фактическую сериализацию данных внутри экземпляра класса employee в строку json

    string json = JsonConvert.SerializeObject(employee, Formatting.Indented);

  2. Параметр 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

Мало что нужно отметить

  1. Следующая строка выполняет фактическую десериализацию данных в строке json в экземпляр объекта employee класса Employee .

Employee employee = JsonConvert.DeserializeObject<Employee>(json);

  1. Поскольку employee.Titles - это тип List<string> , мы используем конструкцию цикла foreach для циклического прохождения каждого элемента в этом List .


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow