Grunt 连接多个 JSON 个文件
Grunt concat multiple JSON files
我有多个 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) { ... }
这是一个非常基本的零验证实现,应该足以让您入门。
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'
}],
}
}
我有多个 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) { ... }
这是一个非常基本的零验证实现,应该足以让您入门。
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'
}],
}
}