web-dev-qa-db-fra.com

Enregistrement d'un objet JSON dans un fichier.JSON

J'ai créé un fichier JSON et je dois pouvoir partager le fichier par e-mail avec d'autres collaborateurs. Cependant, bien qu'il existe de nombreuses rubriques disponibles sur la gestion des objets JSON dans l'espace de travail R, il n'existe pratiquement aucune ressource expliquant comment réellement exporter un objet JSON vers un fichier .JSON.

Voici un exemple simple:

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")

La dernière ligne, essayant de lire dans le fichier JSON, entraîne une erreur: "Erreur dans fromJSON (fichier =" export.JSON "): caractère inattendu 'R'"

Évidemment, la fonction save () n'est pas la voie à suivre, mais après une longue recherche sur Google, je n'ai rien trouvé qui dit comment exporter le JSON dans un fichier. Toute aide serait grandement appréciée.

31
Nathan Calverley

Vous pouvez utiliser 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
43
jdharrison

Il existe également le package jsonlite:

library(jsonlite)

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

identical(list1, list2)
4
James Hirschorn