将JSON对象保存到file.JSON

时间:2014-07-09 19:31:32

标签: json r io

我已经创建了一个JSON文件,我需要能够通过电子邮件与其他协作者共享该文件。但是,虽然在R工作区中有大量可用于处理JSON对象的主题,但几乎没有资源讨论如何将JSON对象实际导出到.JSON文件。

这是一个简单的例子:

list1 <- vector(mode="list", length=2)
  list1[[1]] <- c("a", "b", "c")
  list1[[2]] <- c(1, 2, 3)

exportJson <- toJSON(list1)

## Save the JSON to file
save(exportJson, file="export.JSON")

## Attempt to read in the JSON
library("rjson")
json_data <- fromJSON(file="export.JSON")

尝试读入JSON文件的最后一行导致错误:&#34; fromJSON出错(file =&#34; export.JSON&#34;):意外字符&#39; R&# 39;&#34;

显然save()函数不是可行的方法,但经过大量的谷歌搜索后,我没有发现任何说明如何将JSON导出到文件的内容。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:41)

您可以使用write

library(RJSONIO)
list1 <- vector(mode="list", length=2)
list1[[1]] <- c("a", "b", "c")
list1[[2]] <- c(1, 2, 3)

exportJson <- toJSON(list1)
> exportJson
[1] "[\n [ \"a\", \"b\", \"c\" ],\n[      1,      2,      3 ] \n]"
write(exportJson, "test.json")
library("rjson")
json_data <- fromJSON(file="test.json")
> json_data
[[1]]
[1] "a" "b" "c"

[[2]]
[1] 1 2 3

答案 1 :(得分:1)

还有jsonlite软件包:

library(jsonlite)

exportJSON <- toJSON(list1)
write(exportJSON, "test.json")
list2 <- fromJSON("test.json")

identical(list1, list2)