如何使用JSON.NET反序列化JSON对象数组?

时间:2013-12-11 20:29:04

标签: c# json json.net generic-list json-deserialization

这里的“数组”和“对象”可能都不是很合适的术语,但我确信你的大陆漂移了。

我看到这个示例用于从the official docs序列化/反序列化自定义对象:

 product.Name = "Apple";
 product.ExpiryDate = new DateTime(2008, 12, 28);
 product.Price = 3.99M;
 product.Sizes = new string[] { "Small", "Medium", "Large" };

 string output = JsonConvert.SerializeObject(product);
 //{
//  "Name": "Apple",
//  "ExpiryDate": "2008-12-28T00:00:00",
//  "Price": 3.99,
//  "Sizes": [
//    "Small",
//    "Medium",
//    "Large"
//  ]
//}

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);

但我需要反序列化一个对象-jSON元素的“数组”,如:

IEnumerable<Platypus> deserializedProduct = JsonConvert.DeserializeObject<Platypus>(output);

...或:

List<Platypus> deserializedProduct = JsonConvert.DeserializeObject<Platypus>(output);

JsonConvert / JSON.NET方面需要做些什么才能实现这一目标?

1 个答案:

答案 0 :(得分:7)

为什么不这样:

List<Product> deserializedProduct = JsonConvert.DeserializeObject<List<Product>>(object);