R语言导出JSON到文本文件报错,求可行替代方法
解决R中导出JSON到文本文件的报错问题
你遇到的问题根源很明确:write.table()是为处理数据框(data frame)类对象设计的,但toJSON()返回的是json专属类对象,无法被强制转换为数据框,所以才会触发这个错误。下面给你两个简单实用的替代方案:
方法1:用writeLines()直接写入字符串
json对象本质上是特殊格式的字符串,你只需要把它转换成普通字符类型,就能用writeLines()轻松写入文件:
library(dplyr) library(jsonlite) tester <- list(10, 20) %>% toJSON(auto_unbox = T) # 转换为字符类型后写入文件 writeLines(as.character(tester), "JSONfile.txt")
方法2:使用jsonlite专属的write_json()函数(更推荐)
jsonlite包提供了专门针对JSON操作的write_json()函数,它可以直接处理列表或json对象,完全不需要手动转换类型,用法更简洁高效:
library(dplyr) library(jsonlite) # 直接把列表导出为JSON文件,甚至可以跳过toJSON步骤 write_json(list(10, 20), "JSONfile.txt", auto_unbox = TRUE) # 如果已经生成了json对象,也能直接传入 tester <- list(10, 20) %>% toJSON(auto_unbox = T) write_json(tester, "JSONfile.txt")
这两种方法都能顺利完成JSON内容到文本文件的导出,其中write_json()是更贴合JSON场景的工具,建议优先使用。
内容的提问来源于stack exchange,提问作者S31
相关产品推荐
相关产品推荐

