我知道这个问题已被多次询问但是我已经尝试了很多解决方案,到目前为止我还没有尝试使用Json.Net,JavaScriptSerializer ......等等。
以下是我想要反序列化的Json示例。注意我在使用C#的Win Form应用程序中构建它我希望能够反序列化为类。
{
"data": [
{
"ID": "4f351ef7005fc2b7a6fcd3e4a4ddb4fe",
"name": "Distorted Packages",
"objCode": "OPTASK",
"owner": {
"ID": "4f16e4cb0043332b4bfc602927dbb1c0",
"name": "Marjorie Rolan",
"objCode": "USER",
"title": null,
"phoneNumber": null,
"lastSurveyedOn": null,
"showWhatsNew": true
},
"primaryAssignment": null
},
{
"ID": "4f3522a40060146c9fd7f36e49a4cf47",
"name": "More issues on k.com",
"objCode": "OPTASK",
"owner": {
"ID": "4f16e4cb0043332b4bfc602927dbb1c0",
"name": "Marjorie Rolan",
"objCode": "USER",
"title": null,
"phoneNumber": null,
"lastSurveyedOn": null,
"showWhatsNew": true
},
"primaryAssignment": null
}
]
}
感谢。
答案 0 :(得分:1)
因此,遵循JSON.net路径,您需要一个映射到您的数据的c#类。对于发布的JSON,这应该有效:
class JSONThing {
public JSONThingData[] { get; set; }
}
class JSONThingData {
public string ID { get; set; }
public string name { get; set; }
public string objcode { get; set; }
public JSONThingDataOwner owner { get; set;}
}
...
要反序列化这一切,您只需将根类和JSON字符串传递给JsonConvert.DeserializeObject函数,如下所示:
JSONThing thing = JsonConvert.DeserializeObject<JSONThing>(json);