有很多json序列化/反序列化選項,所以我不確定哪一個是正確使用的,以及爲什麼有這麼多選項看起來相同事情。我見過JsonConvert,JsonSerializer,JavaScriptSerializer等等。將json數組反序列化爲ac#列表時出現問題
尋找幫助正確deserializng一個JSON數組到一個複雜的對象的C#列表。
JQUERY:
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; }
}
我不確定是否/如何適合MVC但.NET Web API已經爲您執行了所有這些功能。你應該考慮利用這一點。 http://www.asp.net/web-api – Jeff