我正在使用Newtonsoft的JSON Parser。
我获得json作为响应。并且每次都可能不同。可能的变体:
1.
[
{
"type": "typing",
"updates": [
{
"__type": "qwerty"
}
]
}
]
2.
[
{
"token": 1111,
"type": "msg",
"updates": [
{
"__type": "asdfg",
....
},
{
"__type": "asdfg",
....
},
]
},
{
"type": "typing",
"updates": [
{
"__type": "qwerty"
}
]
}
]
问题是,我的对象应该具有什么结构来解析任何类型的json?
var jToken = JToken.Parse(myResponse);
var obj = jToken.ToObject<MyObject>();
class MyObject
{
// what structure should i have here?
}
它们不是不同的对象。您的服务返回一个对象数组,其中每个对象都包含一个"更新"数组
var myobj = JsonConvert.DeserializeObject<MyObject[]>(json);
public class MyObject
{
public string token;
public string type;
public Update[] updates;
}
public class Update
{
public string __type;
}
我建议研究一个用于.NET.的内置JSON序列化程序
在System.Runtime.Serialization.Json.DataContractJsonSerializer 中找到一个(两者中较好的)
另一个在System.Web.Script.Serialization
以下是关于如何使用DataContractJsonSerializer
的详细说明。