我有多个JSON文件,每个文件位于不同的路径中。 现在我试图用" grunt-concat-json" 连接所有文件。
源JSON文件如下所示:
ExampleA.json
[ {
"configPath": "Example A"
} ]
ExampleB.json
[ {
"configPath": "Example B"
} ]
如何配置我的GRUNT任务以获取以下结果JSON文件:
[
{
"configPath": "Example A"
},
{
"configPath": "Example B"
} ]
我已尝试使用此配置:
concat: {
json:
{
src: [
'pathA/ExampleA.json',
'pathB/ExampleB.json
],
dest: 'pathX/Merged.json',
options: {
separator: ','
}
}
},
通过此设置,我得到以下结果:
[
{
"configPath": "Example A"
}
],
[
{
"configPath": "Example B"
}
]
但我的结果JSON应该只有一个数组,我可以在我的代码中循环,如
configPaths.forEach(configPath) { ... }
答案 0 :(得分:0)
这是一个非常基本的零验证实现,应该足以让您入门。
grunt.registerMultiTask('concatArrays', 'concatArrays', function() {
this.files.forEach(function(_set) {
var combined = [];
_set.src.forEach(function(_file) {
combined = combined.concat(JSON.parse(grunt.file.read(_file)));
});
grunt.file.write(_set.dest, JSON.stringify(combined));
});
});
您可以配置文件集,如:
concatArrays: {
local: {
files: [{
src: ['a.json', 'b.json'],
dest: 'combined.json'
}],
}
}