繁体   English   中英

无法将当前JSON对象反序列化为List

[英]Cannot deserialize the current JSON object to a List

我正在尝试反序列化此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对象(例如{“ name”:“ value”})为类型'System.Collections.Generic.List`1 [rdscanweb.Models.BaseViewModels.VehicleGO]',因为该类型需要JSON数组(例如[ 1,2,3])正确反序列化。 要解决此错误,可以将JSON更改为JSON数组(例如[1,2,3]),也可以更改反序列化类型,使其成为普通的.NET类型(例如,不像整数这样的原始类型,也不像这样的集合类型)数组或列表),可以从JSON对象反序列化。

谁能帮我?

这种结构应该做到这一点。

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; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM