如何忽略空的或未设置的json密钥?

时间:2016-04-06 15:53:12

标签: c# json json.net

我有一个像这样的json:

{
"user": [
{
  "det": [
    {
      "Code": "9",
      "Description": "Update"
    }
  ],
  "arts": []
 }
]
}

现在在某些情况下,我提出的json包含密钥arts,在其他情况下,这个密钥没有提供,所以我只有det密钥的json: / p>

{
"user": [
{
  "det": [
    {
      "Code": "9",
      "Description": "Update"
    }
  ]
 }
]
}

这是我的反序列化类:

public class Det
{
   public string Code { get; set; }
   public string Description { get; set; }
}

public class Arts
{
   public string ID { get; set; }
   public string CON3 { get; set; }
}

public class user
{
   public List<Det> det { get; set; }
   public List<Arts> arts {get; set; }
}

public class RootObject
{
    public List<Det> user { get; set; }
}

因此,当我收到第一个json时,代码运行良好,但是当我收到第二个代码时,代码属于异常:

  

无法反序列化当前的JSON对象

这是因为没有提供arts密钥,但只有det密钥。因此,如果没有设置,有一种方法可以告诉我的代码忽略arts?我怎样才能做到这一点?感谢。

0 个答案:

没有答案