В статье C# и API ВКонтакте. Обращение к адресу API-сервиса путем создания HTTP-запроса (POST) я писал о том, что возвращаемую от API json строку я десериализую в класс.
Для десериализации я использую библиотеку Json.NET. Тесты показали, что эта библиотека позволяет выполнять сериализацию / десериализацию гораздо быстрее чем DataContractJsonSerializer и JavaScriptSerializer.
Использование библиотеки очень простое. Например, мы хотим десериализовать json строку в класс Person.
Создаем класс:
Для полей указываем аттрибут JsonProperty, где указываем название поля в строке, которую хотим десериализовать.
Для десериализации вызываем следующий метод:
var Person = JsonConvert.DeserializeObject<Person>(jsonString);
Аналогичным способом можно десериализовать xml, напишу об этом отдельно.
Для десериализации я использую библиотеку Json.NET. Тесты показали, что эта библиотека позволяет выполнять сериализацию / десериализацию гораздо быстрее чем DataContractJsonSerializer и JavaScriptSerializer.
Использование библиотеки очень простое. Например, мы хотим десериализовать json строку в класс Person.
Создаем класс:
public class Person
{
[JsonProperty(PropertyName = "firstname")]
public string FirstName { get; set;}
[JsonProperty(PropertyName = "secondname")]
public string SecondName { get; set;}
}
Для полей указываем аттрибут JsonProperty, где указываем название поля в строке, которую хотим десериализовать.
Для десериализации вызываем следующий метод:
var Person = JsonConvert.DeserializeObject<Person>(jsonString);
Аналогичным способом можно десериализовать xml, напишу об этом отдельно.
А как уже имеющийся json десериализовать?
ОтветитьУдалитьvar Person = JsonConvert.DeserializeObject(jsonString);
Удалить