Можно использовать объект класса JavaScriptSerializer
, который включен в .NET 3.5 Sp 1 (пространство имен System.Web.Script.Serialization
, сборка System.Web.Extensions
). Этот объект преобразует строку JSON в граф объектов. Соответственно, для всей структуры JSON должны быть объявлены C#-классы с одноименными свойствами или полями. Например, имеем такой JSON:
{
"name": "category_name",
"description": "some description",
"products": [
{"name": "product1", "id": "p1"},
{"name": "product2", "id": "p2"}
]
}
Для преобразования такой строки в объекты нужно объявить классы:
public class Product
{
public string Id { get; set; }
public string Name { get; set; }
}
public class Category
{
public string Name { get; set; }
public string Description { get; set; }
public IList<Product> Products { get; set; }
}
Теперь для преобразования JSON в граф можно выполнить код:
var serializer = new JavaScriptSerializer();
var data = serializer.Deserialize<Category>(jsonString);