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(){
    }
});

序列化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. 第二我们处理这种数据太麻烦,

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

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值