0

[JsonProperty("Name")]シリアライズしているクラスがありますが、属性注釈を使用して出力文字列のプロパティ名を変更しています。以下のように:

[JsonProperty("Name")]
public string PersonName{ get; set; }

データを取得したい場合、値をプロパティにマップできないため、null に設定されます。
これは私がデータを取得する方法です:

[WebMethod]
    public static void GetData(List<Person> persons)
    {
    //each persons Name property comes as null
    }

これは、クライアントからデータを送信する方法です。

$.ajax({
    type: "POST",
    url: "TestPage.aspx/GetData",
    data: "{'persons':" + '[{ "Name": "Me"}]' + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function () {
        alert("Data Submitted");
    }
});

クライアントから渡された JSON 文字列を .NET がシリアル化するのを止めることができないので、ページ メソッドにパラメーター タイプを受け入れさせるList<Person>必要があります。JsonConvert.DeserializeObject<List<Person>>(person);.
だから、誰かが投稿を読んで、私にいくつかのアイデアを与えるために時間を割いてください.

4

1 に答える 1