【问题标题】:Saving a JSON object to file.JSON将 JSON 对象保存到 file.JSON
【发布时间】:2014-08-30 23:42:33
【问题描述】:

我创建了一个 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 文件,导致错误:“Error in fromJSON(file = "export.JSON") : unexpected character 'R'"

显然 save() 函数不是要走的路,但经过广泛的谷歌搜索,我没有发现任何关于如何将 JSON 导出到文件的信息。任何帮助将不胜感激。

【问题讨论】:

  • 只要使用write(exportJson, file="export.JSON")

标签: json r io


【解决方案1】:

你可以使用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

【讨论】:

  • 我正在使用这种方法,但它将文件写入一行。知道我怎样才能超越它吗?也可以在这个链接中看到:stackoverflow.com/questions/33958711/…
  • 但是文件写入哪里了?
【解决方案2】:

还有jsonlite包:

library(jsonlite)

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

identical(list1, list2)

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 2016-08-15
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多