如何在R中解析嵌套JSON并提取summary的bullet生成指定DataFrame
解决方案
基于你的需求,我们可以借助tidyverse工具包的函数提取嵌套在summary$bullet中的数据,整理成目标格式的DataFrame,步骤如下:
- 定位目标数据:你需要的内容存在
data字段下的summary$bullet数组中,先把这部分从嵌套结构里抽出来。 - 展开嵌套结构:用
unnest_wider和unnest逐层展开嵌套的列表/数组,转成扁平的表格结构。 - 匹配列结构:选择或重命名列,对齐你需要的最终格式。
完整代码
library(tidyverse) # 你的现有读取代码 json_file <- "path_to_json_file/file.json" json_data <- read_json(json_file, simplifyVector = TRUE) %>% as_tibble() # 提取并整理bullet中的数据 final_df <- json_data %>% # 展开data列的嵌套内容,把sessionId、nlpEntities、summary等转成单独列 unnest_wider(data) %>% # 展开summary列里的bullet数组,将键值对转为表格的列 unnest(bullet) %>% # 选择目标列(如果bullet里的键名和目标列名完全一致,直接用这步即可) select(Issue, Resolution, Hashtags, `Primary Intent`) # 查看结果 glimpse(final_df)
注意事项
- 如果
bullet里的键名和目标列名不一致(比如是小写的issue而非Issue),要在select前加rename步骤,示例:rename( Issue = issue, Resolution = resolution, Hashtags = hashtags, `Primary Intent` = primary_intent ) - 如果JSON里包含多个
sessionId(多会话数据),上述代码会自动把每个会话的bullet数据展开为对应行,无需额外修改。
内容的提问来源于stack exchange,提问作者george g
相关产品推荐
相关产品推荐

