[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);
.
だから、誰かが投稿を読んで、私にいくつかのアイデアを与えるために時間を割いてください.