asp.net服务器处理浏览器提交json格式的数据
概述
服务器端对json格式数据的处理思路有两种,一种是通过别人写的类库进行转换,另一种是自己进行相应的转换,下面主要说的是自己进行的转换。
实现描述
1、服务器端接受客户端传送过来的json格式的数据
2、通过对接受json格式数据的字符串进行运算,得到相应的数组
3、判断相应数据的有效性
4、赋值给List集合对象
5、保存到数据
具体实现
方式一
1、下载Newtonsoft.Json.dll
2、引用Newtonsoft.Json.dll
3、添加命名空间
4、json对象和json数组,以及相应获得数据的方式
核心代码
//引入json命名空间 using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Converters; //获得客户端提交的数据 string strData = context.Request.Params["strJson"].ToString(); //json数据整体为普通对象 JObject obj = (JObject)JsonConvert.DeserializeObject(strData); string strName = obj["name"].ToString(); JObject objA = (JObject)obj["birthday"]; string strYear = objA["year"].ToString(); string strMonth = objA["month"].ToString();
方式二
private void InsertCity(HttpContext context) { try { //获得客户端提交的数据 string strData = context.Request.Params["strJson"].ToString(); //分割字符串 char[] delimiterChars = { ‘{‘, ‘}‘, ‘[‘, ‘]‘, ‘"‘, ‘:‘, ‘,‘, ‘ ‘ }; string[] data = strData.Split(delimiterChars); //删除为空的数组元素 data = data.ToList().Where(x => !x.ToString().Equals("")).ToArray(); List<UnitAdditionalResultsEntity> list = new List<UnitAdditionalResultsEntity>(); //提取数组元素中的有用值 for (int i = 3; i < data.Length - 3; i += 4) { UnitAdditionalResultsEntity enUnitAdditionalResults = new UnitAdditionalResultsEntity(); enUnitAdditionalResults.UnitID = data[1]; enUnitAdditionalResults.AdditionalResultsName = data[i + 1]; enUnitAdditionalResults.AdditionalResults = data[i + 3]; enUnitAdditionalResults.YearTime = DateTime.Now.Year.ToString(); list.Add(enUnitAdditionalResults); } //定义B层对象 CityAddBLL cityAddBLL = new CityAddBLL(); //判断是否存在相同名称的奖惩 DataSet ds = cityAddBLL.SelectAddNameById(DateTime.Now.Year.ToString(),data[1]); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string strAddName = ds.Tables[0].Rows[i][0].ToString(); foreach (var enUnitAdd in list) { if(enUnitAdd.AdditionalResultsName.ToString()==strAddName) { context.Response.Write("false"); return; } } } //添加奖惩项目 cityAddBLL.Add(list); } catch (Exception) { return; } //成功 context.Response.Write("true"); }
总结
上篇博客和这一片博客是一个整体,描述了客户端向服务器段提交json格式数据,服务器段处理的过程,有兴趣的同学可以试试服务器端向客户端发送json格式数据,客户端接受的过程,其思路大同小异。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。