本文主要是介绍Newtonsoft.Json.Linq.JArray转换为ListT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Newtonsoft.Json.Linq.JArray转换为List
环境:c# webapi
现在webapi一般使用json,从前端提交的数据,有时会包括多个数据,如:
var list = [{id: '1', name: 'name1'},{id: '2', name: 'name2'},{id: '3', name: 'name3'},{id: '4', name: 'name4'},
]
data: {name: 'name1',list: list,... ...
}
在后台接口获取参数时,很多时候会使用dynamic,如:
[HttpPost]
public object SaveData(dynamic obj){}
使用dynamic作为数据类型时,获取其中的数据后需要显示的转换为相应的类型,如:
[HttpPost]
public object SaveData(dynamic obj){string name = obj.Name.ToString();int num = Convert.ToInt32(obj.Num);
}
同样的,数组类型也需要显示转换,如:
前端提交数据:
var list = [{id: '1', name :'name1'},{id: '2', name :'name2'},{id: '3', name :'name3'},{id: '4', name :'name4'}
];
$.ajax({url: '...',data: {... ...list: list,... ...}
})
后端接受数据:
public class Person{public string ID { get; set;}public string Name { get; set;}
}[HttpPost]
public object SaveData(dynamic obj){//List<Person> list = obj.list; 报错,无法将Newtonsoft.Json.Linq.JArray隐式转换为List<T>List<Person> list = obj.list.ToObject<List<Person>>(); // 正确
}
这篇关于Newtonsoft.Json.Linq.JArray转换为ListT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!