0

HTTPPOST からデータを受信するモデルを構築しようとしています。

モデルが受信され、正常に設定されている - 以下を除くIList<harsta> harequest

カウントは 1 ですが、フィールドに対して null 値を持っていることが示されています。 スクリーンショット

私のモデルは次のとおりです。

 public class HAR
 {
    public int api_version { get; set; }
    public IList<harsta> harequest { get; set; }
    public class harsta
    {
        public int ta_id { get; set; }
        public string partner_id { get; set; }
        public string partner_url { get; set; }
    }
   ...
   ...
    }

harrequest の投稿データは次のとおりです (2 つのエントリが必要です)。

[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},
{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]

PostMan のスクリーンショットは、コントローラーに送信されるフォーム エンコード データを示しています。 ss2

Example Request (this is the example provided on the 3rd party website)

POST
http://partner-site.com/api_implementation/ha
BODY
api_version=4
&harequest=[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]
&start_date=2013-07-01
...
&query_key=6167a22d1f87d2028bf60a8e5e27afa7_191_13602996000

ここでモデルをセットアップした方法のため、モデルにマッピングされていないと確信しています。

    public IList<harsta> harequest { get; set; }
    public class harsta
    {
        public int ta_id { get; set; }
        public string partner_id { get; set; }
        public string partner_url { get; set; }
    }

POST の harequest フィールドから JSON データを受け取るために、モデルを正しく設定していませんか?

4

1 に答える 1

-1

まず第一に、私はHarstaクラスをHarクラスに埋め込むことにあまり満足していません。それらを分離するのは良い習慣ではありません。

第二に、あなたの問題は実際には、返される JSON オブジェクトのプロパティ名が引用符で囲まれていることに起因すると思います。プロパティ名のみの引用符を取り除きます。

それはこれをしないでください:

[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},
{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]

代わりにこれを行います:

[{ta_id:97497,partner_id:"229547",partner_url:"http://partner.com/deeplink/to/229547"},
{ta_id:97832,partner_id:"id34234",partner_url:"http://partner.com/deeplink/to/id34234"}].
于 2013-11-05T11:11:20.957 に答える