我正在尝试使用 R 解析 JSON。在 jsonlite 包中使用 fromJSON()
可以让我完成大部分工作。但是,当 json 具有多个级别时,构建数据框的最有效方法是什么?
假设我有这个 json 代码:
[
{
"id":"0001",
"type":"donut",
"batters":{
"batter":[
{
"id":"1001",
"type":"Regular"
},
{
"id":"1002",
"type":"Chocolate"
},
{
"id":"1003",
"type":"Blueberry"
}
]
}
}
]
我读入并使用 fromJSON
进行解析
json <- readLines(...)
out <- fromJSON(json)
这让我得到了一个包含 1 个观察值和 3 个变量的数据框。最后一个变量是一个包含所有“面糊”值的列表。
我想构建它以获得具有 4 个变量的 3 个观察值。
id type batter.id batter.type
0001 donut 1001 Regular
0001 donut 1002 Chocolate
0001 donut 1003 Blueberry
我可以在解析json代码时直接这样做吗?或者我是否需要使用 unlist
之类的东西来构建表格? (如果是这样,如何使用 unlist
之类的东西有效地完成此操作?)
最佳答案
通过进一步挖掘,我在 tidyr 中发现了 unnest
。
unnest(out, batter, names_sep = ".")
关于R - 解析具有多个级别的 JSON 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63239325/