JsonConvert中带有小数的JsonConvert本地化数字

时间:2011-05-26 12:10:59

标签: c# formatting json.net

我正在使用json.net来序列化和反序列化对象。唯一的问题是,当我尝试反序列化对象时,它无法解析它刚刚创建的double值。序列化时,它会生成十进制字符.,但是当它尝试反序列化时,它会预期,

这里的问题可能是我正在设备上的应用程序中运行反序列化。并且设备可能设置为与创建JSON的服务器不同的本地化。

因此,无论本地化格式可能是什么,都可以强制json.netdouble反序列化.作为十进制字符?

编辑在json.net codeplex中有一个错误,但它恰恰相反。我尝试从doubledecimal切换我的类型,现在它完美无缺......

EDIT2:

class Spot
{
    int Id;
    string Name;
    double Distance;
    double Rating;
}

我猜默认文化是系统文化,对吧?哪个是挪威语(nb-NO

Here's the output.正如您所看到的,我正在发送带有,的旅馆双打来获取latlong值,这些值在服务中被解析为double

1 个答案:

答案 0 :(得分:-1)

听起来这可能是Json.NET中的一个错误。

根据JSON spec,小数点分隔符应始终为.(参见第2.4节)。

话虽如此,有可能 - 我不知道 - Json.NET可能会允许您覆盖尝试反序列化时使用的文化。