JSON или Обозначение объектов JavaScript основан на подмножестве языка программирования JavaScript, но не зависит от языка и может использоваться с любым языком программирования, имеющим анализатор JSON. Использовать JSON данные в программировании на C#, необходимо преобразовать JSON к С# класс . Это позволяет программистам взаимодействовать с данными безопасным для типов способом, что снижает риск ошибок и упрощает поддержку кода.
Работать с JSON данные в C# часто требуют преобразования JSON-данные в Классы С# которые можно легко редактировать и использовать в приложении. В этом уроке мы рассмотрим процесс преобразования JSON данные в классы C# с примерами кода, которые помогут вам на этом пути.
Как преобразовать JSON в класс C#
Шаги по преобразованию JSON к Класс С# являются:
Шаг 1. Анализ данных JSON
Первый шаг к конвертации JSON к С# класс заключается в анализе данных JSON и определении их структуры. Это включает в себя идентификацию ключей или свойств данных и соответствующих им типов данных. Как только эта информация будет собрана, мы можем приступить к созданию соответствующего класса C#, который будет представлять данные JSON.
Шаг 2. Создайте класс C#, представляющий данные JSON.
JSON затем имя данных используется для определения класса. Внутри этого класса мы определяем свойства, соответствующие ключам в JSON данные. Мы устанавливаем типы данных свойств в соответствии с типами данных значений в JSON данные. Например, если ключ в JSON data имеет значение строки, мы определяем соответствующее свойство в классе C# как строку.
Шаг 3. Десериализуйте данные JSON.
После создания класса C# следующим шагом будет десериализация JSON данные в экземпляр класса. Это возможно с помощью Newtonsoft.Json библиотека, которая предоставляет простой API для десериализации JSON данные. Вам необходимо установить и импортировать Newtonsoft.Json package, чтобы использовать его в своем коде. Создайте экземпляр JsonSerializer класс и позвоните в Десериализовать метод, сдача JSON данные в виде строки и класс C# в качестве параметра универсального типа:
с помощью Newtonsoft.Json;// JSON-данные
строка json = '{' имя ':' Джон Смит ',' возраст ':30}' ;
// С # сорт
открытый класс Person
{
общедоступная строка Имя { получать; набор ; }
общественный возраст { получать; набор ; }
}
// Десериализовать данные JSON в объект Person
Человек-человек = JsonConvert.DeserializeObject < Человек > ( json ) ;
JSON data в этом примере — это простой объект со свойством name и age, а класс C# — это класс Person с аналогичными свойствами. JsonConvert. ДесериализоватьОбъект используется для преобразования JSON данные в объект Person, который можно редактировать и использовать в приложении.
Шаг 4. Управление объектом C#
После десериализации JSON-данные в объект С# , им можно манипулировать и использовать в приложении по желанию. Свойства могут быть прочитаны или установлены, методы могут быть вызваны, а объект может быть предоставлен в качестве параметра другим процедурам или функциям.
Вот пример работы с Человек объект, который вы создали на предыдущем шаге:
// Получить человека имяимя строки = человек.Имя;
// Установить человека' мудрец
человек.Возраст = 31 ;
// Вызов метода для объекта человека
человек.PrintDetails ( ) ;
В этом примере объект person используется для получения имени человека, установки возраста человека и вызова РаспечататьДетали метод на объекте.
Вот полный код, демонстрирующий, как конвертировать JSON в класс C# .
с помощью системы;с помощью Newtonsoft.Json;
пространство имен JsonToClassExample
{
программа класса
{
статическая пустота Главная ( нить [ ] аргументы )
{
строка json = @ '{
'firstName': 'Ларри',
'lastName': 'Кевин',
'адрес': {
'улица': 'Главная улица',
'город': 'Венеция',
}
}' ;
Корневой объект myObject = JsonConvert.DeserializeObject < Корневой объект > ( json ) ;
Console.WriteLine ( «Первое имя:» + myObject.firstName ) ;
Console.WriteLine ( «Фамилия:» + мойОбъект.фамилия ) ;
Console.WriteLine ( «Улица:» + мойОбъект.адрес.улица ) ;
Console.WriteLine ( «Город это:» + мойОбъект.адрес.город ) ;
Консоль.ReadLine ( ) ;
}
}
общедоступный класс Rootobject
{
общедоступная строка firstName { получать; набор ; }
общедоступная строка фамилия { получать; набор ; }
публичный адрес { получать; набор ; }
}
Адрес публичного класса
{
общественная струнная улица { получать; набор ; }
общественный строковый город { получать; набор ; }
}
}
Приведенный выше код демонстрирует, как использовать NuGet-пакет Newtonsoft.Json к десериализовать а Строка JSON в класс C# . Строка JSON содержит информацию об имени и фамилии человека, а также его адрес (улица и город). Как классы C#, классы Rootobject и Address устанавливают структуру данных JSON.
JsonConvert. ДесериализоватьОбъект метод используется для преобразования строки JSON в Корневой объект пример. Затем данные отображаются на консоли путем доступа к атрибутам Корневой объект и классы адресов. Консоль.ReadLine метод используется для остановки программы до ее завершения.
Выход
Другие способы преобразования JSON в C#
Вы также можете скопировать JSON данные в буфер обмена и используйте Генератор классов JSON в C# для создания класса C#. В Интернете есть несколько инструментов, таких как Json2CSharp и Быстрый тип , который может помочь вам сгенерировать класс C# из JSON данные. Вставьте JSON данные в соответствующее поле и позвольте инструменту сгенерировать для вас класс C#. Этот подход прост и быстр. Однако для целей обучения вы должны следовать первому методу.
Заключение
Преобразование данных JSON в класс C# предполагает анализ JSON data, создание соответствующего класса C# и десериализация данных JSON в объект класса C#. Этот процесс может быть полезен при работе с JSON данных в приложениях C#, упрощая чтение, обработку и отправку данных в веб-службы или API. Чтобы быстро перевести JSON в С# , вы также можете использовать несколько веб-инструментов, таких как Json2CSharp и Быстрый тип .