如果要反序列化的对象看起来像这样(其中键Ioc,Name,id和timestamp是静态的,而字段键是动态的 - 意味着它可能包含可变数量的项目)???
{
"moduleinstances": [
{
"Ioc": "ioc1",
"Name": "name1",
"fields": {
"PV_PREFIX": "PIPE",
"TIMEOUT": "1"
},
"id": 25,
"timestamp": "/Date(1393518678000)/"
}
]
}
如何反序列化这种字符串?
答案 0 :(得分:1)
秘诀是尽可能保持反序列化的JSON:
Dictionary<string, object> theData= new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(jsonString);
Dictionary<string, object> fieldsNode = (Dictionary<string, object>)theData["fields"];
string pv_prefix = (string)fieldsNode["PV_PREFIX"];
string timeout = (string)fieldsNode["TIMEOUT"];
对Deserialize()
的调用会创建一个Dictionary<string, object>
树,您可以随意浏览。