为每个记录保存带有新行的R JSON对象

为每个记录保存带有新行的R JSON对象,json,r,Json,R,我试图保存一个JSON对象,其中每一行都是一条记录。如何保存JSON对象,使行数等于记录数(下例中为5) library(jsonlite) df=mtcars[1:5,] x这可能会奏效: x2 = strsplit(x, '\\},\\{') write.table(x2,"tmp.json") 使用jsonlite::stream\u out df <- mtcars[1:5,] jsonlite::stream_out(df, file('tmp.json')) dfjsonl

我试图保存一个JSON对象,其中每一行都是一条记录。如何保存JSON对象,使行数等于记录数(下例中为5)

library(jsonlite)
df=mtcars[1:5,]

x这可能会奏效:

x2 = strsplit(x, '\\},\\{')
write.table(x2,"tmp.json")

使用
jsonlite::stream\u out

df <- mtcars[1:5,]
jsonlite::stream_out(df, file('tmp.json'))

df
jsonlite::stream\u out
仅适用于平面
数据。frame
对象:

jsonlite::stream_out (list (iris, mtcars)) # error!
只需使用
writeLines
,就可以使用完整的换行符编写更复杂的结构:

x <- jsonlite::toJSON (list (iris, mtcars), pretty = TRUE)
con <- file ("tmp.json")
writeLines (x, con)
close (con)

x此json输出不包括[]来开始和结束json或元素之间的逗号。对我来说结果不好。@pauljohn32
stream_out()
的输出不是有效的JSON,但每一行都是有效的JSON
x <- jsonlite::toJSON (list (iris, mtcars), pretty = TRUE)
con <- file ("tmp.json")
writeLines (x, con)
close (con)