转换为JSON时禁用科学记数法

时间:2012-05-30 16:46:27

标签: json r

我无法将数据结构转换为JSON而不用科学记数法表示数字。

library(rjson)

options(scipen=1000)

toJSON(c(1200000000, 400000))

# [1] "[1.2e+08,400000]"

如何输出"[1200000000,400000]"

1 个答案:

答案 0 :(得分:1)

从2018年开始更新:现在像所有人一样使用jsonlite

> toJSON(c(1200000000, 400000))
[1200000000,400000] 

2012年的原始答案:

我还建议在传递给toJSON之前将数字转换为字符串,正如@gauden在上面写的那样。但如果您不这样做,请尝试使用RJSONIO选项的digits包(速度更快):

>  toJSON(c(1200000000, 400000), digits = 10)
[1] "[  1200000000,      400000 ]"

但是如你所见,这会产生一些额外的空白。


更新:似乎@gauden删除了他的答案,因此添加了一些细节

您可以致电,例如在将“数字”转换为JSON之前format,如:

> toJSON(format(c(1200000000, 400000), scientific = FALSE, trim = TRUE))
[1] "[\"1200000000\",\"400000\"]"