问题描述
||
我正在使用ѭ0来序列化和反序列化一个对象。唯一的问题是,当我尝试反序列化对象时,它无法解析刚创建的
double
值。序列化时,它使小数字符为“ 2”,但是当尝试反序列化时,它应为“ 3”。
这里的问题可能是我正在设备上的应用程序中运行反序列化。并且设备的设置可能会与创建JSON的服务器的设置不同。
因此,无论本地化的格式是什么,都可以强制json.net
将double
反序列化为.
作为十进制字符吗?
编辑json.net代码库中对此有一个错误,但这是相反的。我尝试将我的类型从double
改为ѭ8now,现在可以正常使用了...
编辑2:
class Spot
{
int Id;
string Name;
double Distance;
double Rating;
}
我猜默认文化是系统文化,对吗?挪威文(nb-NO
)
这是输出。正如您所看到的,我正在发送带有values3 sending的int double来表示latlong值,这些值在服务中被解析为double
。
解决方法
听起来这可能是Json.NET中的错误。
根据JSON规范,小数点分隔符应始终为“ 2”(请参见第2.4节)。
话虽如此,我可能不知道Json.NET可能允许您覆盖尝试反序列化时使用的区域性。