2017-06-22 14 views
0

我有两个json文件,格式如下。我的目标是将它们结合起来,保持完全相同的格式 - 基本上叠加一个。结合json文件和保存格式在R

我曾尝试以下,但这并不正确合并这两个文件并保存格式,这两个文件与[ ]分别括号。如何在整个文件中组合并保留一对括号?

files <- c("test.json","test2.json") 
jsonl <- lapply(files, function(f) fromJSON(file = f)) 
jsonc <- toJSON(jsonl) 
write(jsonc, file = "two.json") 

R有没有更好的解决方案?

test.json

[ 
    { 
    "vendor": 0, 
    "startTime": 4380, 
    "endTime": 4445 
    }, 
    { 
    "vendor": 0, 
    "startTime": 4448, 
    "endTime": 4453 
    }, 
    { 
    "vendor": 0, 
    "startTime": 4696, 
    "endTime": 4880 
    } 
] 

不需要输出:

[ 
    [ 
    {"vendor":0,"startTime":4380,"endTime":4445}, 
    {"vendor":0,"startTime":4448,"endTime":4453}, 
    {"vendor":0,"startTime":4696,"endTime":4880}], 

    [{"vendor":0,"startTime":4380,"endTime":4445}, 
     {"vendor":0,"startTime":4448,"endTime":4453}, 
     {"vendor":0,"startTime":4696,"endTime":4880} 
    ] 
] 

所需的输出:

[ 
    {"vendor":0,"startTime":4380,"endTime":4445}, 
    {"vendor":0,"startTime":4448,"endTime":4453}, 
    {"vendor":0,"startTime":4696,"endTime":4880}, 
    {"vendor":0,"startTime":4380,"endTime":4445}, 
    {"vendor":0,"startTime":4448,"endTime":4453}, 
    {"vendor":0,"startTime":4696,"endTime":4880} 
    ] 

回答

1

可以使用在写之前加入他们的行列rbind

files <- c("test.json","test2.json") 
jsonl <- do.call("rbind", lapply(files, function(f) fromJSON(f))) 
write(toJSON(jsonl), file = "two.json")