Json 反序列化
本文关键字:反序列化 Json | 更新日期: 2023-09-27 18:34:41
我知道这个问题已经被问了很多次,但我尝试了很多解决方案,到目前为止没有任何效果,我尝试使用 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
}
]
}
谢谢。
因此,按照 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);