精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究。点名“简易百科”和闲暇巴盗用锐英源原创内容。
近几天开发,由于没有接口文档,解析Json时出现下面异常提示:
Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[TextSafe2003_2022.ModifyArticleData]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly. To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object. Path 'data.id', line 1, position 34.
由于我在看Json原文时,注意到了花括号,误以为是数组,所以加了如下属性
List<AAAA> abc;
加了这属性,而Json原文里其实并不是数组,只是对象,解析肯定出问题,去掉上文里的List,改成如下:
AAA abc;
问题解决。主要原因还是接口没文档,服务器开发人员也没有通知,改来改去的项目代码,不太好组织。
初学者遇到异常,还是要回归到代码基本面来分析,才好解决,复杂问题也是由简单问题积累质变而来。