有没有办法指定JToken
的类型是double
或long
?我注意到只有integer
和float
通过 https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Linq/JTokenType.cs 支持,并想知道人们如何处理更高精度的情况。
JSON 不区分 double
和 float
。它甚至没有真正区分整数和非整数 - 它们只是数字。
但JsonTokenType.Float
并不是真的要表示System.Single
- 它是"浮点数"。同样,JsonTokenType.Integer
并不意味着表示System.Int32
- 它是"整数"。
有关这方面的示例,请查看JValue
:
- 接受
long
的构造函数将令牌类型设置为Integer
- 接受
double
的构造函数将令牌类型设置为Float
- 接受
decimal
的构造函数将令牌类型设置为Float