使用DataContractJsonSerializer使用不同类型的数组反序列化json

时间:2012-11-22 14:50:45

标签: c# json serialization datacontractjsonserializer

有没有办法反序列化这样的json

{
  "photos": [
    19,
    {
      "pid": 288777129,
      "aid": -6
    },
    {
      "pid": 286441792,
      "aid": -6
    },
    {
      "pid": 114893258,
      "aid": 34465839
    }
  ]
}

使用C#DataContractJsonSerializer而不修改源代码。我的意思是第一个元素19。

1 个答案:

答案 0 :(得分:1)

我通常使用JavascriptSerializer类:

JavaScriptSerializer js = new JavaScriptSerializer();
Object obj = js.DeserializeObject(str);
Response.Write(obj["photos"][0]); // 19