首页 新闻 会员 周边 捐助

json数据传输

0
悬赏园豆:10 [已解决问题] 解决于 2017-11-18 21:51

想请问一下,在前端利用ajax将数据放入json对象然后序列化传送到后台,后台时asp.net mvc的,在后台要如何反序列化并保存到数据库中,请各位高手帮帮忙,如有实例不胜感激

偶像之路的主页 偶像之路 | 初学一级 | 园豆:3
提问于:2017-11-08 13:01
< >
分享
最佳答案
2

你可知道,MVC可以自动完成一定Json转实体的操作。

例如,我后台有这样一个模型

 

    public class User
    {
        public string realname { get; set; }
        public string username { get; set; }
        public int age { get; set; }
        public string address { get; set; }
        
    }

那么我在页面上执行一个Ajax请求

$.post("/Home/Index",{
    realname: "张三",
    username:"zhangsan",
    age:1,
    address:"美国"
},function(){})

 

后台控制器中

    public class HomeController : Controller
    {
        public ActionResult Index(user user)
        {
            //这里的user变量里就初始化好你json中的数据了
            return View();
        }
    }

如果你的模型中还有复杂变量,例如

    public class User
    {
        public string realname { get; set; }
        public string username { get; set; }
        public int age { get; set; }
        public string adddress { get; set; }
        public parent parent { get; set; }
    }

    public class parent
    {
        public string name { get; set; }
        public string work { get; set; }
    }

那么我把json格式修改为

{
    realname: "张三",
    username:"zhangsan",
    age:1,
    address:"美国",
    parent:{name:"小明", work:"教师"}
}
或者
{
    "realname": "张三",
    "username":"zhangsan",
    "age":1,
    "address":"美国",
    "parent.name" :"小明",
    "parent.work":"教师"
}

控制器接受方法不变

收获园豆:10
写代码的相声演员 | 小虾三级 |园豆:517 | 2017-11-08 13:27

另外,数组型的模型。可以用js数组形式

{myarr: [1,2,3,4,5,6] }

或者

{
  "myarr[0]":1,
  "myarr[1]":2    
}

要注意的是,第二种写法必须下标从0开始,且连贯,否则会被抛弃

写代码的相声演员 | 园豆:517 (小虾三级) | 2017-11-08 13:33
其他回答(1)
0
~扎克伯格 | 园豆:1923 (小虾三级) | 2017-11-08 13:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册