我正在使用Json.NET对服务器端的请求进行反序列化。
有类似
的内容public object[] Values
我需要输入30.0
,27
,54.002
等值,它们必须是double
和int
。< / p>
Json.NET有一个名为 FloatParseHandling 的反序列化属性,但没有像 IntParseHandling 这样的选项。所以问题是如何将整数反序列化为int
?
答案 0 :(得分:9)
您最好的选择是反序列化为模型表达的类型模型,Values
是int
/ int[]
/等。 为object
/ object[]
的东西(可能是因为事先并不知道类型,或者是异构项目的数组),那么它不是JSON.NET默认为long
是不合理的,因为当数组中存在大小值混合时,这将导致最小的混淆。除此之外,当用JSON序列化时,它无法知道(3L
(a long
)中的值是什么,看起来与3
相同({{1} }}))。您只需后处理int
并查找Values
和long
范围内的任何内容:
int