R中是否有一个函数可以删除JSON文件中的最后一个逗号?

lnlaulya  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(122)

我对R还是个新手,我有一个很大的JSON文件夹,需要去掉后面的逗号。我在其他语言中看到了很多其他的建议,但是我想把我的代码保留在R中。

尾部逗号是唯一的问题,因为我手动删除了它,代码中没有其他错误。

dtcbnfnu

dtcbnfnu1#

使用此示例文件并在后面添加逗号:

writeLines(
'{
    "entry1": {
        "id": 1,
        "language": "en",
    }
}',
'file.json'
)

将文件作为文本读入,使用正则表达式删除逗号后面的},将更正后的文件写回磁盘,然后再次作为JSON读入:

library(stringr)
library(jsonlite)

readLines("file.json") |>
  paste(collapse = "\n") |>
  str_remove_all(",(?=\\n\\s*\\})") |>
  writeLines("file_fixed.json")

read_json("file_fixed.json")

或者,如果您不想将更正后的版本保存到磁盘,请跳过该步骤并使用fromJSON()

readLines("file.json") |>
  paste(collapse = "\n") |>
  str_remove_all(",(?=\\n\\s*\\})") |>
  fromJSON()

结果:

$entry1
$entry1$id
[1] 1

$entry1$language
[1] "en"

相关问题