I\'m trying to save a JSON object where each line is a record. How can I save the JSON object so that the number of lines is equal to the number of records (5 in example below)
This might do the trick:
x2 = strsplit(x, '\\},\\{')
write.table(x2,"tmp.json")
use jsonlite::stream_out
df <- mtcars[1:5,]
jsonlite::stream_out(df, file('tmp.json'))
that gives newline delimited JSON or "ndjson"
jsonlite::stream_out
will only work for flat data.frame
objects:
jsonlite::stream_out (list (iris, mtcars)) # error!
More complex structures can be written with intact line breaks simply using writeLines
:
x <- jsonlite::toJSON (list (iris, mtcars), pretty = TRUE)
con <- file ("tmp.json")
writeLines (x, con)
close (con)
jsonlite::fromJSON
will read this straight back.