【问题标题】:Export toJSON list of list in R导出到R中列表的JSON列表
【发布时间】:2018-12-14 18:03:37
【问题描述】:

我需要将列表列表导出到 json 以获得输出 JSON,如下一个:

{
  "timestamp":"2018-02-01 10:20",
  "aux":[
    {"id":"x1","prog":['A','A','A']},
    {"id":"x2","prog":['A','A','A']},
    {"id":"x3","prog":['A','A','A']}
  ]
}

如何制作一个列表来获取这样的 JSON?提前致谢。

编辑:

这就是我正在尝试的:

l1 <- list(timestamp = "2018-02-01 10:20", 
           aux = list(id = c("x1","x2","x3"), 
           prog = rep('A',3)))

这是我得到的 JSON:

{"timestamp":"2018-02-01 10:20",
 "aux":{"id":["x1","x2","x3"],
        "prog":["A","A","A"]}
}

【问题讨论】:

  • 我用我要导出的列表编辑了帖子@akrun
  • 类似library(jsonlite); toJSON(l1)?
  • 是的,我试过了,但我没有得到我想要的 JSON
  • 您没有提到输入示例是否可以更改以获得预期的输出?

标签: r json list


【解决方案1】:

您可以使用额外级别的列表来获得该结构:

l1 <- list(timestamp = "2018-02-01 10:20", 
           aux = list(list(id = "x1", prog = rep('A',3)),
                      list(id = "x2", prog = rep('A',3)),
                      list(id = "x3", prog = rep('A',3))))

jsonlite::toJSON(l1, pretty = TRUE, auto_unbox = TRUE)
#> {
#>   "timestamp": "2018-02-01 10:20",
#>   "aux": [
#>     {
#>       "id": "x1",
#>       "prog": ["A", "A", "A"]
#>     },
#>     {
#>       "id": "x2",
#>       "prog": ["A", "A", "A"]
#>     },
#>     {
#>       "id": "x3",
#>       "prog": ["A", "A", "A"]
#>     }
#>   ]
#> }

【讨论】:

  • 非常感谢拉尔夫,它有效!我为此浪费了很多时间,我是个初学者:/哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 2017-07-20
  • 2013-01-28
  • 2019-02-08
  • 1970-01-01
相关资源
最近更新 更多