var clientString = "{\"max\":1214.704958677686}";
JObject o = JObject.Parse(clientString);
var jsonString = o.ToString();
jsonString 的内容:
{
"max": 1214.7049586776859
}
这既是在可视化对象的过程中,也是在执行 ToString() 过程中。请注意,686 已神秘地扩展为 6859(添加了精度)。这对我们来说是一个问题,因为数字不完全相同,并且后面的 json 上的哈希函数不匹配。
@伊利亚·迪莫夫 https://stackoverflow.com/a/26488446/497356是正确的 - JSON.NET 将 JSON 浮点数解析为double
默认为 s。如果您还想使用JObject
您可以使用JsonTextReader
并设置FloatParseHandling
option:
var reader = new JsonTextReader(new StringReader(clientString));
reader.FloatParseHandling = FloatParseHandling.Decimal;
JObject obj = JObject.Load(reader);
Console.WriteLine(obj["max"].Value<decimal>()); // 1214.704958677686
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)