C后端与前端json数据格式转换
目录
C#后端与前端json数据格式转换
后端处理前端发送的json对象
假如前端发起post请求给的一个json对象是这样
{
"ID":"01",
"NAME":"xiaoming"
}
那么后端则需要需要采用单参数post接收参数[FromBody],参数类型则设置为JObject类型,需要引入using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Linq;
public void getjson([FromBody])
{
string ID = json["ID"].ToString();
string NAME = json["NAME"].ToString();
}
这样就可以把传递过来的json对象中的各个字段提取出来放入变量中暂存
后端封装string至json对象传递给前端使用,以及json对象放到数组中
首先得将字符串修改成像json对象那样的形式
{“xx”:“xx”,“yy”:“yy”,“zz”:“zz”}
然后使用函数对字符串进行转化,并使用dynamic类型定义一个动态类型的变量来接收转化好的json对象
dynamic json = Newtonsoft.Json.JsonConvert.DeserializeObject(string);
这样一个json对象就封装好了,可以直接返回给前端使用,这里的返回值类型也应该写成dynamic
如果要将多个转化好的json变成前端能够遍历的json数组,这里可以使用C#中的集合,List
public ArrayList GetJsonList()
{
//创建类似于json对象的字符串
string str = "{" + "\"" + "name" + "\"" + ":" + "\"" + "xiaoming" + "\"" + "}";
//字符串转json对象
dynamic json = Newtonsoft.Json.JsonConvert.DeserializeObject(str);
//实例化ArrayList集合,并将json对象添加到集合之中
ArrayList jsonlist = new ArrayList();
jsonlist.Add(json);
//返回包装着json对象的集合
return jsonlist;
}