0

我知道这个问题已经被问过很多次了,但是我已经尝试了很多解决方案,但到目前为止我没有尝试过使用 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
    }
  ]
}

谢谢。

4

1 回答 1

1

因此,按照 JSON.net 路径,您需要映射到您的数据的 ac# 类。对于发布的 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);
于 2013-10-09T01:05:56.663 回答