C# 我可以反序列化C中包含0.0的JSON字符串吗?

C# 我可以反序列化C中包含0.0的JSON字符串吗?,c#,json,serialization,C#,Json,Serialization,我从Web服务返回的JSON中有一个整数被错误地表示为0.0。我的反序列化代码如下所示: var serializer = new JsonSerializer(); var ret = serializer.Deserialize<T>(jsonTextReader); 我得到这样一个错误: var serializer = new JsonSerializer(); var ret = serializer.Deserialize<T>(jsonTextReader

我从Web服务返回的JSON中有一个整数被错误地表示为0.0。我的反序列化代码如下所示:

var serializer = new JsonSerializer();
var ret = serializer.Deserialize<T>(jsonTextReader);
我得到这样一个错误:

var serializer = new JsonSerializer();
var ret = serializer.Deserialize<T>(jsonTextReader);
输入字符串“0.0”不是有效的整数

我的问题是,有没有一种方法可以指定一个不太严格的反序列化方法,这样我就可以解析这个字符串了


编辑:web服务不返回任何模式,因此我不知道为什么反序列化程序尝试将其转换为int而不是float或double。

我认为您应该继续并在上面创建类

您可以使用C动态类型使事情变得更简单。这种技术也使得重分解更简单,因为它不依赖于魔术字符串。使用JsonConvert.DeserializeObjects将此字符串反序列化为动态类型,然后只需按照C中的常用方式访问其属性

我不知道你为什么会这样

输入字符串“0.0”不是有效的整数


因为如果您没有任何Json数据,它应该保持为null,您不应该有这个问题

它不是int。必须更改为十进制/双精度吗?或者使用diff-Json反序列化程序,或者编写自定义Int反序列化程序。他们可能会声称它是int,意思是在点/逗号之后没有数字,但他们的API将其作为double/float/decimal发送。很好的一点,但是Web服务没有返回任何模式,所以我不知道它为什么需要int。您的t模型/类具有int属性,这里有一个自定义JsonConverter的例子:啊,是的,我自动生成了这些类,并将其设置为int。愚蠢的错误,你能把它作为一个答案吗?