C# Request 接收数组参数或Json参数

来源:互联网 发布:淘宝导航条隐藏 编辑:程序博客网 时间:2024/06/14 10:14

有时候业务需求,我们前端需要传递一个数组参数(JSON同理,JSON格式是特殊的数组),这时候我们后端如何接收呢?

方便大家阅读,我直接将 语法放在了最上面,具体应用场景,在最后面。

前端处理JSON数组

当我们需要传递一个 JSON 数组时,我们需要这样来处理 :

前端传递的时候,将 JSON 数组 格式化,如下代码:

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。

语法: JSON.stringify(value[, replacer[, space]])

实例

var param =  [    //此时用户需要传递一个这样的参数    {"newcode": 2611081576, "proName" : "朗诗里程" },    {"newcode": 2611120026, "proName" : "朗诗光谷中心城"}];var paramStr = JSON.stringify(param);$.ajax({    url:"http://www.fang.com",    type:"post",    data:{"param" : paramStr},    success:function(){    }});

序列化JSON数据

Request 接收数组

因为前端传递过来的是JSON 字符串,我们后端处理起来就非常方便了,我们可以直接 将JSON字符串反序列化 ,直接将 它序列化成我们所需要的实体集便可

 private void GetParam(HttpContext context) {     paramModel param = new paramModel ();//正式查询参数     //接收参数(反序列化JSON数据)     paramModel _param = new JavaScriptSerializer().Deserialize<paramModel >(context.Request["param"]);}

实例介绍 及其他接收方式

用户勾选多条数据

如上图,用户勾选多条数据,这时候,我们需要传递一个 JSON数组,如下面的代码,这时我们如何后端如何接收呢?

var param =  [    //此时用户需要传递一个这样的参数    {"newcode": 2611081576, "proName" : "朗诗里程" },    {"newcode": 2611120026, "proName" : "朗诗光谷中心城"}];$.ajax({    url:"http://www.baidu.com",    type:"post",    data:{"param" : param},    success:function(){        //todo    }});

数组表单

这时后端就只能 Request[“param[0][newcode]”], 这样就会产生问题,

  1. 第一我们不知道前端传递了多少数据
  2. 第二我们处理这种数据太麻烦,

我们上面介绍的便是简单的方法处理。

原创粉丝点击