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

有时候业务需求,我们前端需要传递一个数组参数(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(){
    }
});

C# Request 接收数组参数或Json参数_第1张图片

Request 接收数组

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

 private void GetParam(HttpContext context)
 {
     paramModel param = new paramModel ();//正式查询参数

     //接收参数(反序列化JSON数据)
     paramModel _param = new JavaScriptSerializer().Deserialize(context.Request["param"]);
}

实例介绍 及其他接收方式

C# Request 接收数组参数或Json参数_第2张图片

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

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

C# Request 接收数组参数或Json参数_第3张图片

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

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

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

你可能感兴趣的:(web开发,C#基础语法)