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

问题描述 投票:0回答:2

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

例如:

src folder

  • file1.json {"id":1, "name":"1"}
  • file2.json {"id":2, "name":"2"}
  • file3.json {"id":3, "name":"3"}

the result file should look like this

[ 
  {
    "id": 1,
    "name": "1"
  },
  {
    "id": 2,
    "name": "2"
  },
  {
    "id": 3,
    "name": "3"
  }
]
gulp
2个回答
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键,如果有必要的话。


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'));

});
© www.soinside.com 2019 - 2024. All rights reserved.