系统环境为 西班牙系统
1.html首页通过ajax请求后台数据来填充datagrid。
2.后台通过 JavaScriptSerializer.Serialize 的方法把对象转换为json以后传出
问题:在西班牙系统中,C#中的decimal类型,在调用上面2中的方法以后,会把小数点变为逗号。例如 正确{ "lat":30.1123123,"lng":120.1230123} 转换以后变成错误的 { "lat":30,1123123,"lng":120,1230123} 导致前台json解析出错。
无奈法:
1.所有用到的地方自己拼接json字符串,不要直接对对象格式化。可是地方太多。
请大神们给个解决方案。谢谢了!!!!
一般情况下,序列化下,你忽略语言国家习惯就可以啊,
CultureInfo.InvariantCulture 不依赖区域性语言习惯,你看看那个类帮助。
或者用其它第三方的序列化工具,性能比微软自带的还高些。
{ "lat":“30.1123123”,"lng":“120.1230123”}
这种方式就是没有办法的办法了。可是地方太多。自己拼接太麻烦。还会影响程序。
你可以在JSON序列化直线,设置你的线程的
CurrentUICulture 为英文
应该就不会生成了,了
http://msdn.microsoft.com/en-us/library/system.threading.thread.currentculture.aspx