首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为人类可读性格式化rjson输出?

为人类可读性格式化rjson输出?
EN

Stack Overflow用户
提问于 2014-12-23 03:04:24
回答 1查看 1.6K关注 0票数 1

我使用以下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}]}

但是,我想让输出更具可读性,如下所示:

代码语言:javascript
复制
{
 "items":[
   {"name":"Item 1","group":1},
   {"name":"Item 2","group":1},
   {"name":"Item 3","group":2}
 ]
}

RJSONIO有"pretty“选项,但没有创建我的应用程序所需的JSON格式。除了后处理文件本身之外,有没有一种方法可以使用rjson创建我正在寻找的输出文件?

谢谢,

时间

EN

回答 1

Stack Overflow用户

发布于 2014-12-23 03:19:45

不确定你是否设置了RJSONIO (我发现它有时有点混乱)。但是既然您提到了rjson,那么您可能也愿意使用另一个json包。这里有一种使用jsonlite包的可能性。

代码语言:javascript
复制
# 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()保存到文件中

代码语言:javascript
复制
{
    "items": [
        {
            "name": "Item 1",
            "group": 1
        },
        {
            "name": "Item 2",
            "group": 1
        },
        {
            "name": "Item 3",
            "group": 2
        }
    ]
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27608875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档