如何将整数反序列化为int,而不是长?

时间:2013-07-29 07:53:51

标签: c# json.net deserialization

我正在使用Json.NET对服务器端的请求进行反序列化。

有类似

的内容
public object[] Values

我需要输入30.02754.002等值,它们必须是doubleint。< / p>

Json.NET有一个名为 FloatParseHandling 的反序列化属性,但没有像 IntParseHandling 这样的选项。所以问题是如何将整数反序列化为int

1 个答案:

答案 0 :(得分:9)

您最好的选择是反序列化为模型表达的类型模型,Valuesint / int[] /等。 object / object[]的东西(可能是因为事先并不知道类型,或者是异构项目的数组),那么它不是JSON.NET默认为long是不合理的,因为当数组中存在大小值混合时,这将导致最小的混淆。除此之外,当用JSON序列化时,它无法知道(3L(a long)中的值是什么,看起来与3相同({{1} }}))。您只需后处理int并查找Valueslong范围内的任何内容:

int