在这种情况下如何反序列化json:
(json字符串我从服务器接收(在现实中字符串越来越复杂),只能改变它(它不是很好,因为我认为)或自定义解析(反序列化)这个字符串,但如何做到这一点,我不明白.....)
string json = "[{"a":384,"type":undefined,"name":"A"}, {"a":385,"type":2,"name":"B"}]";
var t = ser.Deserialize<List<CustClass>>(json);
"type":undefined - raise Exception " Invalid JSON primitive: undefined"
public class CustClass
{
public int a{ get; set; }
public string Name { get; set; }
}
我尝试使用JavaScriptConverter和JavaScriptTypeResolver,但没有解决问题也许json.net可以帮助我?div…
如果要序列化和反序列化,则应该尽量避免未定义的内容。设置默认值。请确保它传递的不是undefined,而是一个空字符串或默认值。
如果有必要,那么我建议首先检查,您可以对对象进行简单的for循环,但更简单,更有效的答案是不添加多余的
JSON是如何生成的?它在抱怨,因为undefined
不允许作为JSON值。值null
在JSON中是允许的,但是您需要确保它在反序列化为CustClass
对象时不会引起问题。