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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gulp从多个JSON文件创建一个JSON文件相关的知识,希望对你有一定的参考价值。

我正在使用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-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键,如果有必要的话。

另一答案

最后我发现了一个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'));

});

以上是关于Gulp从多个JSON文件创建一个JSON文件的主要内容,如果未能解决你的问题,请参考以下文章

gulp.src()或它在gulp任务之外的替代方案

Pyspark:从路径读取多个 JSON 文件

gulp.src() 没有读取所需的 JSON 文件的数组值

gulp.src() 没有读取所需的 JSON 文件的数组值

gulp教程之静态资源压缩

gulp学习记录