R/Shiny:JSON 阅读图书馆

R/Shiny: JSON Reading Libraries

我正在尝试将“数据”放入数据框中,但无法找到在 R 中执行此操作的简单方法。这只是整个 JSON.

中的一个片段
[
    {
        "something": 555,
        "timestamp": "aTimeStamp",
        "data": [
            {
                "company": "something1",
                "quarter": 1,

            },
            {
                "company": "something2",
                "quarter": 1,
            }
    }
]

我可以在 Python 中利用

轻松做到这一点
data = json.load(filepath)
for i in data["data"]:
   //do stuff

但我找不到在 R 中执行此操作的简单方法。我发现的所有指南看起来都在利用来自 nosql 数据库的 JSON,而不是像这样我们有“东西”的东西和“时间戳”包括在内。

更新:

    df_json <- fromJSON(json_data, simplifyDataFrame = TRUE) 
    # get a glimpse of the list_json2 object
    glimpse(df_json)
    glimpse(as.data.frame(df_json["data"])

此代码产生 $ data <list> [<data.frame[21 x 20]>] 但我不知道如何获取数据中找到的信息并将其正确放入数据框中。

要将其转换为数据框,您可以使用 tidyverse 库中的 unnest(),例如,

  library(jsonlite)
  library(tidyverse)
    
  df_json <-fromJSON(json_data, simplifyDataFrame = TRUE) 
  out <- df_json%>% unnest(data) %>% data.frame()
  out

给予,

  something  timestamp    company quarter
1       555 aTimeStamp something1       1
2       555 aTimeStamp something2       1

数据:

[
    {
        "something": 555,
        "timestamp": "aTimeStamp",
        "data": [
            {
                "company": "something1",
                "quarter": 1

            },
            {
                "company": "something2",
                "quarter": 1
            }
    ]
    }
]