【问题标题】:how to remove a level of nesting of a json array that is returned from R API如何删除从 R API 返回的 json 数组的嵌套级别
【发布时间】:2016-07-20 08:03:30
【问题描述】:

我使用 OpenCPU 创建了一个 R API,它查询 neo4j 数据库并返回结果。 结果看起来像

    [ [
        {
      "abc": "aabbcc1",
      "pqr": "ppqqrr1",
      "xyz": "xxyyzz1"
    }
  ],
  [
    {
      "abc": "aabbcc2",
      "pqr": "ppqqrr2",
      "xyz": "xxyyzz2"
    }
  ],
  [
    {
      "abc": "aabbcc3",
      "pqr": "ppqqrr3",
      "xyz": "xxyyzz3"
    }
  ]
]

这里有一层不必要的嵌套。我该如何摆脱这个? 我希望 json 看起来像

 [
    {
      "abc": "aabbcc1",
      "pqr": "ppqqrr1",
      "xyz": "xxyyzz1"
    },
    {
      "abc": "aabbcc2",
      "pqr": "ppqqrr2",
      "xyz": "xxyyzz2"
    },
    {
      "abc": "aabbcc3",
      "pqr": "ppqqrr3",
      "xyz": "xxyyzz3"
    }
  ]

我尝试在 R 控制台中打印结果,即在它转换为 JSON 之前,它看起来像

[[1]]
                                abc pqr xyz
1 aabbcc1   ppqqrr1 xxyyzz1

[[2]]
                                abc pqr    xyz
1 aabbcc2  ppqqrr2 xxyyzz2

[[3]]
                                abc pqr xyz
2 aabbcc3  ppqqrr3 xxyyzz3

我尝试使用此链接中提到的解决方案R How to remove a level of lists from a list of lists

之后生成的 json 看起来像

{"abc":["aabbcc1"],"pqr":["ppqqrr1"],"xyz":["xxyyzz1"],"abc.1":["aabbcc2"],"pqr.1":["ppqqrr2"],"xyz.1":["xxyyzz2"],"abc.2":["aabbcc3"],"pqr.2":["ppqqrr3"],"xyz.2":["xxyyzz3"]}

【问题讨论】:

    标签: json r opencpu


    【解决方案1】:

    尝试将您的数据放入jsonlite::rbind.pages(yourdata),然后再将其提供给toJSON

    【讨论】:

    • 非常感谢。还有一个问题:如何从列表中删除多余的对象?我尝试使用 unique(list) 它不起作用
    猜你喜欢
    • 2020-06-10
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2016-11-22
    • 1970-01-01
    • 2015-02-03
    相关资源
    最近更新 更多