我使用以下rjson代码创建一个JSON文件,其中df表示我的输入数据帧。
result <- toJSON(list(items=lapply(1:nrow(df),function(i)df[i,])))
该文件显示为:
{"items":[{"name":"Item 1","group":1},{"name":"Item 2","group":1},{"name":"Item 3","group":2}]}
但是,我想让输出更具可读性,如下所示:
{
"items":[
{"name":"Item 1","group":1},
{"name":"Item 2","group":1},
{"name":"Item 3","group":2}
]
}RJSONIO有"pretty“选项,但没有创建我的应用程序所需的JSON格式。除了后处理文件本身之外,有没有一种方法可以使用rjson创建我正在寻找的输出文件?
谢谢,
时间
发布于 2014-12-23 03:19:45
不确定你是否设置了RJSONIO (我发现它有时有点混乱)。但是既然您提到了rjson,那么您可能也愿意使用另一个json包。这里有一种使用jsonlite包的可能性。
# unloadNamespace(RJSONIO) ## to avoid confusion between packages
library(jsonlite)
x <- '{"items":[{"name":"Item 1","group":1},{"name":"Item 2","group":1},{"name":"Item 3","group":2}]}'
## to go back and create your example list of 1 data frame
( dfl <- fromJSON(x) )
# $items
# name group
# 1 Item 1 1
# 2 Item 2 1
# 3 Item 3 2
## prettify your json output
toJSON(dfl, pretty = TRUE)它返回以下漂亮的json,可以用writeLines()保存到文件中
{
"items": [
{
"name": "Item 1",
"group": 1
},
{
"name": "Item 2",
"group": 1
},
{
"name": "Item 3",
"group": 2
}
]
}https://stackoverflow.com/questions/27608875
复制相似问题