将JSON对象保存到file.JSON

h4cxqtbf  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(212)

我创建了一个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文件,结果出现错误:“fromJSON(file =“export.JSON”)中的错误:意外字符'R'“
很明显,保存()函数不是一个好方法,但是在大量的谷歌搜索之后,我没有发现任何关于如何将JSON导出到文件的信息。任何帮助将不胜感激。

tsm1rwdh

tsm1rwdh1#

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

ycggw6v22#

还有jsonlite包:

library(jsonlite)

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

identical(list1, list2)
pod7payv

pod7payv3#

Voici un code qui fonctionne correctement sur R STUDIO en Mai 2023

#Code to export a data frame to JSON and then reimport it with R STUDIO (May 2023)"
     #Code pour exporter un data frame en JSON et puis le reimporter avec R studio

    #Building datra frame
    #construction du data frame    
    install.packages("RJSONIO")
    library(RJSONIO)
    DF_json <- donnees <- data.frame(nom = c("Alice", "Bob"), age = c(30, 25))
    DF_json

    #transform data frame in JSON file
    #transformation du data frame en fichier JSON
    exportJson <- toJSON(DF_json)
    exportJson

    #Export of data frame in json file
    #Export du data frame en fichier json
    write(exportJson, "C:/Users/u99amo/Downloads/test.json")

    #Import of data frame exported
    #import du data frame exporté
    install.packages("rjson")
    library(rjson)

    json_data <- fromJSON(file="C:/Users/u99amo/Downloads/test.json")
    json_data <- data.frame(json_data)

    #controle
    #contrôle 
    identical(DF_json, json_data)

相关问题