gpt4 book ai didi

R - 解析具有多个级别的 JSON 代码

转载 作者:行者123 更新时间:2023-12-04 09:15:32 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com