C# 将Json数据在非web上用Newtonsoft(Json.NET)反序列化为List的一个技巧的
本帖最后由 葬礼昨天 于 2017-3-4 16:54 编辑最近楼主遇到一个web service传送数据到winform的一个问题,当传输数据为自定义model类的List<>范型时,在反序列化的过程中用到的JsonConvert类的DeserializeObject方法会报“无法转换为List<自定义类>”的错误。
解决方法:
观察序列出来的Json文本可以发现,Json的数据形式为[{},{},{}],很明显这是数组的表达方式,之后相应的,
我们就可以将:
var result= JsonConvert.DeserializeObject<List<自定义类>>(Json文本);//这种会报错
转变为:
var result= JsonConvert.DeserializeObject<自定义类[]>(Json文本).ToList();//这样就可以了
//上面这是自定义类的数组形式
= =。。。 学习了,最近正研究这个 支持一下!! 本来不就是返回List集合吗?所以要TiList()呀 好方式
学习了
Json是广义表结构,不是数组,直接转换肯定失败 哩个名字好难改 发表于 2017-3-4 21:19
本来不就是返回List集合吗?所以要TiList()呀
不是,不能直接转,1楼的Json显示是数组
页:
[1]