非常に多くの json シリアライズ/デシリアライズ オプションがあるため、どれを使用するのが正しいのか、一見同じことを行うオプションが非常に多くある理由がわかりません。JsonConvert、JsonSerializer、JavaScriptSerializer、その他いくつかを見てきました。
json 配列を複雑なオブジェクトの ac# リストに正しく逆シリアル化するためのヘルプを探しています。
Jクエリ:
var users = [];
for (var i = 0; i < response.length; i++)
{
var u =
{
Id: response[i].id,
UserName: response[i].username,
FirstName: response[i].first_name,
LastName: response[i].last_name
};
users[i] = u;
}
var ul = JSON.stringify({ 'userlist': users});
$.ajax({
type: "POST",
url: "/myurl/addusers",
data: { 'userlist': ul },
dataType: "json",
success: function (response) {
},
error: function (xhr, status, error) {
}
});
C# (これは機能しません):
[HttpPost]
public ActionResult AddUsers(string userlist)
{
JavaScriptSerializer ser = new JavaScriptSerializer();
var users = ser.Deserialize<List<User>>(userlist);
...
}
[Serializable]
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}