概述
服务器端对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格式数据,客户端接受的过程,其思路大同小异。