JSON .NET反序列化string []而不是string

时间:2014-08-25 14:56:14

标签: c# json

我有一个不一致的JSON文件,可能是手工生成的。这是一个截断的例子:

[
    {
        "Generic Name": "Lurasidone",
        "Brand Name": ["Latuda"]
    }
    {
        "Generic Name": "Lisdexamfetamine",
        "Brand Name": "Vyvanse"
    }
]

由于“品牌名称”对于一个是[],而对另一个而言只是一个常规字符串,我如何在.NET中处理这个问题?

public class Drug
{
    [JsonProperty("Generic Name")]
    public string GenericName {get; set;}

    [JsonProperty("Brand Name")]
    public string[] BrandName {get; set;}
}

List<Drug> a = JsonConvert.DeserializeObject<List<Drug>>(
    File.ReadAllText("d.json"));

导致错误:

  

将值“Vyvanse”转换为'System.String []'类型时出错。路径'[1]。品牌名称',第20行,第26位。

0 个答案:

没有答案