鉴于json:
x
反序列化为C#动态对象时,将使用值为b
的属性JsonReaderException
创建对象。即使同一属性被发送两次,也不会抛出{{1}}。
有没有办法检测json字符串中是否多次发送了属性?
答案 0 :(得分:0)
没有抛出JsonReaderException
的原因是因为重复的密钥在JSON中是有效的。
一个快速而肮脏的解决方法是让计数器在每次设置类X
属性时递增。如果是> 1
,那么你知道。
public class Test
{
private string _x;
private int xCounter = 0;
public string X
{
set
{
if(xCounter > 1) throw new Exception("DUPES");
xCounter++;
_x = value;
}
get
{
return _x;
}
}
}
如果您在反序列化后尝试再次设置X
,这显然会失败。