Saving a JSON object to file.JSON
Solution 1
You can use 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
Solution 2
There is also the jsonlite
package:
library(jsonlite)
exportJSON <- toJSON(list1)
write(exportJSON, "test.json")
list2 <- fromJSON("test.json")
identical(list1, list2)
Related videos on Youtube
Nathan Calverley
My name is Nathan Calverley, and I run the Wisconsin-based consulting firm BadgerStats. We provide expert training in R programming skills at competitive hourly rates. We also provide expert statistical consulting for businesses, government agencies, and college students. Visit our page to learn more!
Updated on July 09, 2022Comments
-
Nathan Calverley almost 2 years
I've create a JSON file, and I need to be able to share the file via email with other collaborators. However, although there are plenty of topics available on handling JSON objects in the R workspace, there are virtually no resources discussing how to actually export a JSON object to a .JSON file.
Here's a simple example:
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")
The final line, attempting to read in the JSON file, results in an error: "Error in fromJSON(file = "export.JSON") : unexpected character 'R'"
Obviously the save() function is not the way to go, but after extensive googling, I have found nothing that says how to export the JSON to a file. Any help would be greatly appreciated.
-
jdharrison almost 10 yearsJust use
write(exportJson, file="export.JSON")
-
-
Mpizos Dimitris over 8 yearsI am using this method but it writes the file in one line. Any idea how can I overpass it? Can see also in this link: stackoverflow.com/questions/33958711/…
-
PM0087 over 3 yearsBut where is the file written to?