我正在使用json.net
来序列化和反序列化对象。唯一的问题是,当我尝试反序列化对象时,它无法解析它刚刚创建的double
值。序列化时,它会生成十进制字符.
,但是当它尝试反序列化时,它会预期,
这里的问题可能是我正在设备上的应用程序中运行反序列化。并且设备可能设置为与创建JSON的服务器不同的本地化。
因此,无论本地化格式可能是什么,都可以强制json.net
将double
反序列化.
作为十进制字符?
编辑在json.net codeplex中有一个错误,但它恰恰相反。我尝试从double
做decimal
切换我的类型,现在它完美无缺......
EDIT2:
class Spot
{
int Id;
string Name;
double Distance;
double Rating;
}
我猜默认文化是系统文化,对吧?哪个是挪威语(nb-NO
)
Here's the output.正如您所看到的,我正在发送带有,
的旅馆双打来获取latlong值,这些值在服务中被解析为double
。
答案 0 :(得分:-1)
听起来这可能是Json.NET中的一个错误。
根据JSON spec,小数点分隔符应始终为.
(参见第2.4节)。
话虽如此,有可能 - 我不知道 - Json.NET可能会允许您覆盖尝试反序列化时使用的文化。