首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在将json数组反序列化为c#列表时遇到问题

在将json数组反序列化为c#列表时遇到问题
EN

Stack Overflow用户
提问于 2013-07-11 23:58:33
回答 2查看 964关注 0票数 1

有这么多的json序列化/反序列化选项,所以我不确定使用哪一个是正确的,也不确定为什么有这么多选项来做看似相同的事情。我见过JsonConvert、JsonSerializer、JavaScriptSerializer和其他几个。

寻找关于正确地将json数组反序列化为复杂对象的c#列表的帮助。

JQUERY:

代码语言:javascript
运行
复制
 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# (这不起作用):

代码语言:javascript
运行
复制
        [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; }
    }
EN

Stack Overflow用户

发布于 2013-07-12 00:07:55

更改您的操作以接受用户列表,模型绑定器将处理其余部分,如下所示:

代码语言:javascript
运行
复制
 [HttpPost]
        public ActionResult AddUsers(List<User> users)
        {
            //use the 
        }

更改javascript以直接向用户发送数组,而不使用代理属性:

代码语言:javascript
运行
复制
var ul = JSON.stringify(users);
    $.ajax({
        type: "POST",
        url: "/myurl/addusers",
        data: ul ,
        dataType: "json",
        success: function (response) {  

        },
        error: function (xhr, status, error) {

        }
    });
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17598154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档