我试图将data.table对象转换为JSON。具有numeric
值的列应以“统一”方式转换为JSON值,即所有值都应包含小数部分,即使其值为“.0”。我所拥有的是:将数值统一转换为JSON
library(RJSONIO)
test <- data.table(V1 = c(1.0, 2.0, 4.5, 3.0))
cat(toJSON(test))
{
"V1": [ 1, 2, 4.5, 3 ]
}
然而,我想要做的是得到以下的输出:
{
"V1": [ 1.0, 2.0, 4.5, 3.0 ]
}
我与其他库如rjson
试图和我得到的相同的结果。我似乎无法找到任何控制此问题的选项。我最后的选择是手动处理输出JSON字符串,最后添加所需的“.0”,但我想知道是否有更好的选择。任何帮助将不胜感激。
你为什么要这样做?在解析时,我猜JSON中的'1'和'1.0'不会产生任何区别。 – nicola
@nicola因为我想把JSON放到Elasticsearch中(使用'elastic'库),如果数组没有相同的“格式”中的数字,Elasticsearch不断让我恼人的“mapper [V1]不同类型,current_type [long],merged_type [double]“ –