R - 将JSON转换为所需格式

时间:2015-01-08 15:52:23

标签: json r

我的数据框目前看起来像这样:

df$name <- c("Person A","Person B","Person C")
df$count <- c(50,100,150)

使用jsonlite包中的toJSON生成一个不保留count变量的数字类的数组。:

toJSON(as.matrix(df))
[["Person A","50"],["Person B","100"],["Person C","150"]]

我完全认识到这是因为将df转换为矩阵需要所有数据属于同一个类。相反,我希望保留这些类,以便name保留为字符串,count保留为数字,如下所示:

[["Person A",50],["Person B",100],["Person C",150]]

在某些情况下,我希望能够将JSON输出外部提供给Google Charts(而不是通过googleVis)。非常感谢建议和帮助 - 我已经尝试了很多东西,似乎无法产生我需要的产品。谢谢!

1 个答案:

答案 0 :(得分:2)

您应该将data.frame转换为配对列表,然后再将其转换为json字符串。 :

library(RJSONIO) 
## use  cat for better print
cat(toJSON(Map(function(x,y)list(x,y),df$name,df$count)))

[
 [
 "Person A",
    50 
],
[
 "Person B",
   100 
],
[
 "Person C",
   150 
] 
]