R - 将 JSON 转换为所需格式

R - convert JSON to desired format

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

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

使用 jsonlite 包中的 toJSON 生成的数组不保留计数变量的数值 class。:

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

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

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

对于某些上下文,我希望能够将 JSON 输出从外部提供给 Google 图表(而不是通过 googleVis)。非常感谢您的建议和帮助——我尝试了很多方法,但似乎无法提供我需要的产品。谢谢!

您应该先将 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 
] 
]