Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Json.NET不区分大小写的属性反序列化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Json.NET列出了“不区分大小写的属性反序列化”作为广告的功能之一。我已经阅读,首先将尝试匹配指定的属性的情况,如果找不到匹配,执行不区分大小写的搜索。然而,这似乎不是认行为。请参见以下示例:
var result =
    JsonConvert.DeserializeObject<KeyValuePair<int,String>>(
        "{key: 123,value: \"test value\"}"
    );

// result is equal to: default(KeyValuePair<int,String>)

如果改变JSON字符串以匹配属性的大小写(“Key”和“Value”vs“key”和“value”),那么一切都很好:

var result =
    JsonConvert.DeserializeObject<KeyValuePair<int,String>>(
        "{Key: 123,Value: \"test value\"}"
    );

// result is equal to: new KeyValuePair<int,String>(123,"test value")

有没有办法执行不区分大小写的反序列化?

这是一个错误

不区分大小写的属性反序列化指的是Json.NET能够将名为“Key”的JSON属性映射到.NET类的“Key”或“key”成员。

这个bug是KeyValuePair需要自己的JsonConverter,但是缺少了大小写不敏感的映射。

https://github.com/JamesNK/Newtonsoft.Json/blob/fe200fbaeb5bad3852812db1e964473e1f881d93/Src/Newtonsoft.Json/Converters/KeyValuePairConverter.cs

使用它作为基础,并在读取JSON时将小写“key”和“value”添加到case语句。

大佬总结

以上是大佬教程为你收集整理的Json.NET不区分大小写的属性反序列化全部内容,希望文章能够帮你解决Json.NET不区分大小写的属性反序列化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。