Search code examples
jsonrio

Saving a JSON object to file.JSON


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.


Solution

  • 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