Gulp从多个JSON文件创建一个JSON文件

时间:2018-01-28 15:05:42

标签: gulp

我使用gulp并且我想从多个json文件创建一个json文件。 我的每个src文件都是对象,结果应该是所有src对象的数组

例如:

src文件夹

  • file1.json

    {"id":1, "name":"1"}

  • file2.json

    {"id":2, "name":"2"}

  • file3.json

    {"id":3, "name":"3"}

结果文件应该如下所示

[ 
  {
    "id": 1,
    "name": "1"
  },
  {
    "id": 2,
    "name": "2"
  },
  {
    "id": 3,
    "name": "3"
  }
]

2 个答案:

答案 0 :(得分:1)

我将建议gulp-merge-json

var merge = require('gulp-merge-json');

gulp.src(''./test/result/**/*.json'')
    .pipe(merge())
    .pipe(gulp.dest('dist/json'));

});

代码更清晰,功能更强大,文档更好。在你的情况下,一个简单的concat可以工作但是看看gulp-merge-json它会在必要时智能地组合json密钥。

答案 1 :(得分:0)

最后我发现了一个gulp插件gulp-json-concat

代码示例

const gulp = require('gulp');
const jsonConcat = require('gulp-json-concat');

gulp.task('concat-json', () => {
  const arr = [];
  return gulp.src('./test/result/**/*.json')
    .pipe(jsonConcat('result.json', function (data) {
      arr.push(data);
      return new Buffer(JSON.stringify(arr));
    }))
    .pipe(gulp.dest('dist/json'));

});