我试图反序化这个json:
{
"veiculo": [
{
"categoria": "B",
"placa": "NLI2892"
},
{
"categoria": "A",
"placa": "OML8712"
},
{
"categoria": "B",
"placa": "PQU1492"
},
{
"categoria": "B",
"placa": "JIC1381"
},
{
"categoria": "A",
"placa": "ONB1093"
}
]
}
这是我的目标:
public class VehicleGO
{
[JsonProperty(PropertyName = "placa")]
public string Plate { get; set; }
[JsonProperty(PropertyName = "categoria")]
public string Category { get; set; }
}
当我尝试反序列化时:
var vehicles = JsonConvert.DeserializeObject<List<VehicleGO>>(json);
我收到以下错误:
无法反序列化当前的JSON对象(例如{&#34; name&#34;:&#34; value&#34;}) 进入类型 &#39; System.Collections.Generic.List`1 [rdscanweb.Models.BaseViewModels.VehicleGO]&#39; 因为该类型需要一个JSON数组(例如[1,2,3])来反序列化 正确。要修复此错误,请将JSON更改为JSON数组 (例如[1,2,3])或更改反序列化类型以使其正常 .NET类型(例如,不是整数的基本类型,不是集合 类似于数组或List的类型,可以从JSON反序列化 对象
任何人都可以帮助我吗?
答案 0 :(得分:2)
这种结构应该这样做。
public class VehicleGO
{
[JsonProperty(PropertyName = "placa")]
public string Plate { get; set; }
[JsonProperty(PropertyName = "categoria")]
public string Category { get; set; }
}
public class Vehicles
{
public List<Veiculo> veiculo { get; set; }
}