将 SeatGeek API 数据(JSON 格式)导入平面数据框的最简单方法是什么?

What is the easiest way to import SeatGeek API Data (JSON format) into a flat data frame?

在 R 中,我尝试在 SeatGeek API 中查询使用 jsonlite 的场地列表,但继续 运行 进入有关 JSON 数据嵌套格式的问题我正在下载(即不是 'location' 具有存储值,它是 'lat' 和 'lon' 变量的存储列表)

创建每个单元格有 1 个值(而不是单个单元格中包含多个值的列表)的平面数据框的最简单方法是什么?

目前,我正在返回一个数据框,其中包含一个包含每个单元格中所需值的列表,而不仅仅是值本身(通常每个列表包含一个值,在某些情况下有多个值,即位置,其中包含纬度和经度变量)。

library(httr)
library(jsonlite)


perpage <- "per_page="
pagenumber <- "page="
pp <- 5000
pn <- 0

ven <- paste("https://api.seatgeek.com/2/venues?", "country=US&", perpage, (pp), "&", pagenumber, (pn+1), "&client_id=NTM2MzE3fDE1NzM4NTExMTAuNzU&client_secret=77264dfa5a0bc99095279fa7b01c223ff994437433c214c8b9a08e6de10fddd6", sep = "")
ven

vpg <- GET("https://api.seatgeek.com/2/venues?country=US&per_page=5000&page=1&client_id=NTM2MzE3fDE1NzM4NTExMTAuNzU&client_secret=77264dfa5a0bc99095279fa7b01c223ff994437433c214c8b9a08e6de10fddd6")

vpgc <- content(vpg)
vpgcv <- (vpgc$venues)


json_file <- sapply(vpgcv, function(x) {
  x[sapply(x, is.null)] <- NA
  unlist(x)
  as.data.frame(t(x))
})


venues.dataframe <- as.data.frame(t(json_file))

如果能以更有效的方式提取此嵌套数据,我们将不胜感激!

Reduce()bind_rows() 有效:

json_file <- Reduce(dplyr::bind_rows, lapply(vpgcv, unlist))

编辑: 使用 bind_rows() 而不是 rbind() 因为 rbind() 不匹配列名的新行。