【发布时间】:2017-07-12 20:27:39
【问题描述】:
我想将 json 反序列化为 C# 对象的集合,但出现以下错误:
{"无法将当前 JSON 对象(例如 {\"name\":\"value\"})反序列化为类型 'System.Collections.Generic.List`1,因为该类型需要 JSON 数组(例如 [1 ,2,3]) 以正确反序列化。\r\n要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或将反序列化类型更改为正常的 .NET 类型(例如,不是像整数这样的原始类型,不是像数组或列表这样的集合类型,可以从 JSON 对象反序列化。也可以将 JsonObjectAttribute 添加到类型以强制它从 JSON 对象反序列化。\r\nPath '组织,第 1 行,第 17 位。"}
代码:
var jSon = "{\"Houses\":[{\"id\":\"123\",\"doorNumber\":22},
{\"id\":\"456\",\"deniNumber\":99}
]}";
var temp = JsonConvert.DeserializeObject<List<House>>(jSon);
}
public class House
{
public int Id { get; set; }
public int DoorNumber { get; set; }
}
【问题讨论】: