0

RestSharp を使用して次のコードを読み取る必要があります。私の問題は、適切な構造で配列を取得する方法です。これを正しく機能させるには、オブジェクトを含むクラスをどのようにセットアップする必要がありますか?

タイプ AcUserInfo のリスト内のオブジェクト "0" と "1" をデシリアライズしたいと考えています。

どうもありがとう。アンドレア

{
   "0":{
      "id":"2",
      "subscriberid":"2",
      "cdate":"2012-09-28 16:49:06",
      "sdate":"2012-09-28 16:49:06",
      "first_name":"Al",
      "last_name":"",
      "email":"test@verizon.net"
   },
   "1":{
      "id":"29",
      "subscriberid":"29",
      "cdate":"2012-10-02 15:08:29",
      "sdate":"2012-10-02 15:08:29",
      "first_name":"Mark",
      "last_name":"",
      "email":"test2@verizon.net"
   },
   "result_code":1,
   "result_message":"Success: Something is returned",
   "result_output":"json"
}

作成したクラスは次のとおりです。

public class SubscriberList {
    public int result_code { get; set; }
    public string result_message { get; set; }
    public string result_output { get; set; }
    public List<AcUserInfo> row { get; set; }

    SubscriberList(){
        row = new List<AcUserInfo>();
    }
}
4

1 に答える 1

0

JSON データには配列が含まれていないため、List<> に逆シリアル化できません。

JSON を次のように変換します。

{
  [{
  "id":"2",
  "subscriberid":"2",
  "cdate":"2012-09-28 16:49:06",
  "sdate":"2012-09-28 16:49:06",
  "first_name":"Al",
  "last_name":"",
  "email":"test@verizon.net"
  },
  {
  "id":"29",
  "subscriberid":"29",
  "cdate":"2012-10-02 15:08:29",
  "sdate":"2012-10-02 15:08:29",
  "first_name":"Mark",
  "last_name":"",
  "email":"test2@verizon.net"
  }],
  "result_code":1,
  "result_message":"Success: Something is returned",
  "result_output":"json"
}

または、常に「0」と「1」の要素しかない場合は、SubscriberList クラスをそれに合わせて変更します。

于 2012-10-12T09:31:21.457 に答える