在一个类中反序列化不同的JSON数据

时间:2014-05-28 06:23:36

标签: c# .net json json.net

我有两个来自服务器的json。 如果请求没问题 - 请返回:

{"code":0,"content":{"id":"1318916"}}

如果请求是错误 - 请返回:

{"code":5,"content":[]}

当请求没问题时 - 这个班级做得很好:

[JsonObject]
public class JsonResponse
{
   [JsonProperty(PropertyName = "code", Order = 1)]
   public int Code { get; set; }
   [JsonProperty(PropertyName = "content", Order = 2)]
   public JsonResponseContent Content { get; set; }

   public class JsonResponseContent
   {
      public string Id { get; set; }
   }
}

当错误 - 这个班级好工作:

[JsonObject]
public class JsonResponse
{
   [JsonProperty(PropertyName = "code", Order = 1)]
   public int Code { get; set; }
   [JsonProperty(PropertyName = "content", Order = 2)]
   public JsonResponseContent[] Content { get; set; }

   public class JsonResponseContent
   {
      public string Id { get; set; }
   }
}

可以合并到一个类中以获得OK和ERROR吗?

1 个答案:

答案 0 :(得分:1)

将错误回复更改为{“code”:5,“content”:{}}。请注意,我将[]更改为{}