我知道您可以设置日期格式,但是您如何设置其他特定于语言环境的内容,例如十进制数字格式?(我的意思是逗号与点)
问问题
1906 次
1 回答
4
简短的回答:你没有。
您似乎对数字的文本表示和实际数值有些混淆。
虽然 JSON 是一种基于文本的数据交换格式,但 JSON 中的数字(相对于字符串)是一个数值,不受语言环境的影响。JSON 规范的第 2.4 节提供了具体定义(强调我的):
2.4. 数字
数字的表示类似于大多数
编程语言中使用的表示。一个数字包含一个整数部分,它
可以以可选的减号为前缀,其后可以是小数部分和/或指数部分。不允许使用八进制和十六进制形式。前导零是不允许的。
小数部分是小数点后跟一位或多位数字。
指数部分以大写或小写字母 E 开头,
后跟一个加号或减号。E 和可选
符号后跟一个或多个数字。不允许使用不能表示为数字序列的数值
(例如 Infinity 和 NaN)。
鉴于上述情况,诸如此类的{"my_double":3,2}
内容不是有效的 JSON。{"my_double":3.2}
是。
解析 JSON 时,解析器会将数字存储为原始数据类型(int
或double
)。然后,您的语言环境将使用将它们转换为字符串的常规方法正确显示它们;Integer.toString(myInt)
,String.valueOf(myDouble)
等。
于 2013-10-19T15:50:38.453 回答