2017-07-29 121 views
0

我都有以下結構 文件1合併兩個JSON文件在一個特定的結構

[ 
    { 
    "line": 2, 
    "elements": [ 
     {} 
    ] 
    } 
] 

文件的兩個JSON文件2

[ 
    { 
    "line": 3, 
    "elements": [ 
     {} 
    ] 
    } 
] 

我想合併這些文件,輸出文件看起來像

輸出文件

[ 
    { 
    "line": 2, 
    "elements": [ 
     {} 
    ] 
    }, 
{ 
    "line": 3, 
    "elements": [ 
     {} 
    ] 
    } 
] 

我可以使用NPM,Java或任何殼庫

+0

nodejs將會非常容易。以json格式讀取這兩個文件,您將得到兩個數組,然後只是array1.concat(array2)將返回一個包含兩個數組中所有元素的新數組。 – Jerinaw

回答

5

由於JQ的-s命令行選項的魔力,可以「加」儘可能多的文件,只要你喜歡,像所以:

$ jq -s add file1.json file2.json 

提供魔法的基礎是jq支持流。這意味着,例如,jq自動支持JSONL(JSON Lines)。 -s選項的「反向」(即轉換爲JSONL)是-c選項。