R Markdown中fromJSON转JSON为数据框报错:缺少'txt'参数
问题解决:JSON转数据框时
fromJSON报"Argument 'txt' is missing"错误 问题根源
你同时加载了rjson和jsonlite两个包,二者都包含名为fromJSON的函数。当前实际调用的是rjson的fromJSON——这个函数不支持file参数,必须通过txt参数传入JSON文本内容,因此触发了缺失参数的报错。
解决方案
方案1:明确指定使用jsonlite的fromJSON
通过包名+双冒号的方式避免函数名冲突,同时jsonlite更适合将JSON转换为数据框:
# 安装并加载jsonlite(无需同时保留rjson) install.packages("jsonlite") library(jsonlite) # 明确调用jsonlite的fromJSON dfjson <- jsonlite::fromJSON(file= "/Users/sarah/JSON/fhir_dstu2/Aaron697_Stiedemann542_41166989-975d-4d17-b9de-17f94cb3eec1.json") dfjson str(dfjson)
方案2:移除rjson的加载
如果不需要rjson功能,直接卸载或不加载该包,仅保留jsonlite:
# 若不再需要rjson,可卸载它 remove.packages("rjson") # 仅加载jsonlite install.packages("jsonlite") library(jsonlite) # 正常调用fromJSON dfjson <- fromJSON(file= "/Users/sarah/JSON/fhir_dstu2/Aaron697_Stiedemann542_41166989-975d-4d17-b9de-17f94cb3eec1.json")
方案3:强制使用rjson(不推荐)
若必须用rjson,需先读取文件内容再传入txt参数:
library(rjson) # 读取JSON文件内容 json_content <- readLines("/Users/sarah/JSON/fhir_dstu2/Aaron697_Stiedemann542_41166989-975d-4d17-b9de-17f94cb3eec1.json", warn = FALSE) # 传入txt参数 dfjson <- fromJSON(txt = json_content)
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

