2

我刚刚发现 James Newton-King 的库 JSON.NET 的行为有点奇怪。我正在使用它来反序列化客户端 JSON 自定义“功能”,并且一切正常 - 甚至是有效性测试。直到客户端发送另一种类型的“功能”:

CustomJSONConverter converter=new CustomJSONConverter();
MyJSONFeature jsonFeature=JsonConvert.Deserialize<MyJSONFeature>(clientString,converter);

如果提供的字符串有效,则返回正确的 jsonFeature,当字符串包含格式错误的 JSON 时正确抛出异常,但如果字符串包含其他类型的有效序列化特征,则错误地返回某个对象。我认为指定类型时,Deserialize() 方法应该在类型不同时抛出异常,但显然不是。

使用(或不使用)自定义 JSONConverter 没有任何效果,它只是用于一些特殊的 JSON 属性处理。

挖掘文档并没有太大帮助。我正在使用 3.5 版本(也在 .NET 框架 3.5 中)。我错过了什么?提前致谢...

4

0 回答 0