对JTokenTypes的双/长支持?

时间:2017-11-01 23:06:14

标签: c# json.net

有没有办法指定JToken的类型是double类型还是long类型?我注意到https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Linq/JTokenType.cs只支持integerfloat,并且想知道人们如何处理更高精度的案例。

1 个答案:

答案 0 :(得分:3)

JSON不区分doublefloat。它甚至不能真正区分整数和非整数 - 它们只是数字。

JsonTokenType.Float并不意味着表示System.Single - 它是"浮点数"。同样地,JsonTokenType.Integer并不表示System.Int32 - 它是"一个整数"。

有关此示例,请查看JValue

  • 接受long的构造函数将令牌类型设置为Integer
  • 接受double的构造函数将令牌类型设置为Float
  • 接受decimal的构造函数将令牌类型设置为Float