R语言中如何批量删除JSON文件末尾的多余逗号?
批量修复JSON文件末尾的多余逗号(R语言实现)
核心思路
用R语言完成文件读写+正则匹配,批量定位并删除JSON文件末尾(闭合括号/大括号前)的多余逗号,全程无需其他工具。
步骤与代码
- 指定目标文件夹并获取所有JSON文件路径
替换"你的JSON文件夹路径"为实际路径,精准筛选.json后缀文件:
# 设置目标文件夹路径 json_folder <- "你的JSON文件夹路径" # 获取所有JSON文件的完整路径 json_files <- list.files(path = json_folder, pattern = "\\.json$", full.names = TRUE)
- 定义单个文件的修复函数
读取文件内容,用正则精准匹配末尾多余的逗号(仅匹配}/]前的最后一个逗号),替换后写回文件:
fix_trailing_comma <- function(file_path) { # 读取文件内容(忽略换行警告) content <- readLines(file_path, warn = FALSE) # 合并为单字符串适配跨行吗结构 content_str <- paste(content, collapse = "\n") # 正则替换:匹配 }/ ] 前的逗号及空白,替换为空 fixed_content <- gsub("(,\\s*)(?=[}\\]]\\s*$)", "", content_str, perl = TRUE) # 写回修正后的内容 writeLines(fixed_content, file_path) # 打印处理进度 cat("处理完成:", basename(file_path), "\n") }
- 批量执行修复
用lapply遍历所有文件,应用修复函数:
lapply(json_files, fix_trailing_comma)
注意事项
- 务必先备份文件:处理前复制整个JSON文件夹到备份目录,避免正则匹配异常导致数据丢失。
- 正则说明:
(?=[}\\]]\\s*$)是正向预查,确保仅匹配文件末尾、闭合符号前的多余逗号,不会误删JSON结构内的合法逗号。 - 适配多行JSON:函数会将多行内容合并为单字符串处理,无论JSON是单行还是多行结构都能覆盖。
内容的提问来源于stack exchange,提问作者user21117870
相关产品推荐
相关产品推荐

