Освоение C#: простое извлечение одного свойства из JSON

В этой статье блога мы погрузимся в мир C# и рассмотрим различные методы извлечения одного свойства из объекта JSON. JSON (нотация объектов JavaScript) стал популярным форматом обмена данными, и возможность извлекать определенные свойства является важнейшим навыком для любого разработчика C#. Итак, возьмите свой любимый редактор кода и приступайте!

Метод 1: использование Newtonsoft.Json
Библиотека Newtonsoft.Json (также известная как Json.NET) — это широко используемая и очень популярная библиотека сериализации/десериализации JSON для C#. Чтобы извлечь одно свойство из JSON с помощью этой библиотеки, выполните следующие действия:

Шаг 1. Установите пакет NuGet Newtonsoft.Json:

// Run this command in the NuGet Package Manager Console
Install-Package Newtonsoft.Json

Шаг 2. Десериализуйте JSON и получите доступ к свойству:

using Newtonsoft.Json.Linq;
string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JObject jsonObject = JObject.Parse(jsonString);
string name = (string)jsonObject["name"];
Console.WriteLine("Name: " + name);

Метод 2: использование System.Text.Json
Начиная с.NET Core 3.0 пространство имен System.Text.Json предоставляет встроенную поддержку для работы с JSON. Вот как можно извлечь одно свойство, используя это пространство имен:

using System.Text.Json;
string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JsonDocument jsonDocument = JsonDocument.Parse(jsonString);
string name = jsonDocument.RootElement.GetProperty("name").GetString();
Console.WriteLine("Name: " + name);

Метод 3: использование DataContractJsonSerializer
Если вы работаете со старыми версиями.NET, вы можете использовать класс DataContractJsonSerializer, который доступен в пространстве имен System.Runtime.Serialization.Json:

using System.Runtime.Serialization.Json;
string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MyClass));
MyClass obj = (MyClass)serializer.ReadObject(memoryStream);
string name = obj.name;
Console.WriteLine("Name: " + name);

Извлечение одного свойства из JSON в C# — это фундаментальный навык, и с помощью таких библиотек, как Newtonsoft.Json, или встроенных параметров, таких как System.Text.Json и DataContractJsonSerializer, это становится проще простого. Следуя примерам кода, приведенным в этой статье, вы будете хорошо подготовлены к обработке данных JSON в своих приложениях C#. Итак, приступайте к применению этих методов для извлечения желаемых свойств из ваших объектов JSON!