字段类型不匹配时会报错?Newtownsoft 的不会
Closed this issue · 4 comments
hyzx86 commented
字段类型不匹配时会报错?Newtownsoft 的不会
1996v commented
当字段类型不匹配时当然会报错,要么json文本有错误,要么对象的字段类型定义了错误。
所以当发生冲突的时候,你要么修改代码,要么制定一个这样发生冲突时的解决规则。
而这个规则,在KoobooJson中,叫做[值格式化特性]
`
class A
{
[StrValueFormat]
public string a;
}
class StrValueFormat:ValueFormatAttribute
{
public override string WriteValueFormat(object value,Type type, JsonSerializerHandler handler, out bool isValueFormat)
{
...
}
public override object ReadValueFormat(string value,Type type, JsonDeserializeHandler handler, out bool isValueFormat)
{
if(type==typeof(string))
{
isValueFormat=false;
return null;
}
else if(type==typeof(int))
{
isValueFormat=true;
return int.parse(value);
}
throw new Exception("不支持的类型")
}
}`
hyzx86 commented
要改的类定义和属性比较多。所以呢换了个
1996v commented
你可以使用 JsonDeserializeOption.GlobalValueFormat ,这是全局的值格式化特性
hyzx86 commented
好的,感谢,抽空试试看