使用R和JSONLITE创建嵌套/分层JSON吗?

问题描述 投票:4回答:1

我正在努力创建嵌套/分层JSON文件。实际上,我的文件在不同级别上具有不同数量的子代(从零个子代到几个子代),并且树中的每个“节点”将具有相同的键:值对:名称,ID,类型。请记住,我从R到JSON的输出应类似于:

{"name": "I",
 "id": "001",
 "type": "roman",
 "children": [
     {"name": "1",
      "id": "002",
      "type": "arabic", 
      "children": [
          {"name": "A", 
           "id": "003",
           "type": "alpha-U"},
          {"name": "B", 
           "id": "004",
           "type": "alpha-U"}
       ]},
     {"name": "2",
      "id": "005",
      "type": "arabic", 
      "children": [
          {"name": "C", 
           "id": "005",
           "type": "alpha-U"},
          {"name": "D", 
           "id": "006",
           "type": "alpha-U"}
       ]}
]}  

我已经尝试从列表创建JSON。我知道我在这里的某个地方需要一个数据框,但是我看不到该怎么做。

此代码使我接近:

mylist <- list(name="I", id="001", type="roman",
               children=list(name="1", id="002", type="arabic",
                      children=list(name="A", id="003", type="alpha-U")
               ))
jsonlite::toJSON(mylist, pretty=TRUE, auto_unbox=TRUE)

此输出结果:

{
  "name": "I",
  "id": "001",
  "type": "roman",
  "children": {
    "name": "1",
    "id": "002",
    "type": "arabic",
    "children": {
      "name": "A",
      "id": "003",
      "type": "alpha-U"
    }
  }
}

孩子的格式不正确,我看不到每个级别如何获得多个孩子。

我从SO尝试了以下示例:How to write to json with children from R但据我所知,它无法在非终端节点的节点上添加key:value对]

非常感谢您为我的下一步提供任何帮助。

谢谢!蒂姆

我正在努力创建嵌套/分层JSON文件。实际上,我的文件将在不同级别具有不同数量的子代(从零个子代到几个子代),并且树中的每个“节点” ...

json r jsonlite
1个回答
0
投票

您可以先创建数据框,然后将其作为列表分配到单元格中。

© www.soinside.com 2019 - 2024. All rights reserved.