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 に答える