首页 > 解决方案 > R Jsonlite - 如何迭代 JSON 对象列表?

问题描述

我是 R 的新手,但我的任务是读取如下所示的 JSON 文件:

{
  "revisions" : [
    {"number": 1, "description" : "first revision"},
    {"number": 2, "description" : "second revision"},
    {"number": 3, "description" : "third revision"}
  ]
}

我需要做一些数据操作迭代revisions,但我不明白 jsonlite 将这个列表转换成什么类型​​的数据结构,似乎它转置了它。

这是我尝试过的:

json = fromJSON('data.json')
for (revision in json$revisions) {
    print(revision$number) # Doesn't work
    print(revision['number']) # Doesn't work
}

如何以上面尝试的方式读取 json 文件?

使用 R 3.6.1,理想情况下我需要将其保留为基本功能

标签: rjsonlite

解决方案


json$revisions是一个data.frame,所以你可以尝试类似的东西

for (i in seq(nrow(json$revisions))) {
  print(json$revisions$number[i])
}

推荐阅读