javascript - 结合 JSON 文件与 grunt-contrib-concat

标签 javascript json concatenation gruntjs

我正在寻找将 json 文件合并到一个文件夹中的最佳方式。

使用 HTML、CSS 和 JavaScript 这很容易,因为您不需要分隔符或只需要一个 ;。 然而,对于 JSON,我们还需要更多东西才能使其成为有效的 JSON 对象。

一种方法是用 , 连接文件并将所有内容包装在一个数组中。我想知道是否有更好/更简单的方法来做到这一点。

Gruntfile.js

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    concat: {
        json: {
            src: ['src/**/*.json'],
            dest: 'dist/combined.json',
            options: {
              ...
            }
        }
    }
});

src/file1.json

{
    "number": 1
}

src/file2.json

{
    "number": 2
}

dist/combined.json

这将是期望的结果:

{
    "numbers": [
        {
            "number": 1
        },
        {
            "number": 2
        }
    ]
}

最佳答案

您应该能够使用 bannerfooter选项。

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    concat: {
        json: {
            src: ['src/**/*.json'],
            dest: 'dist/combined.json',
            options: {
                // Added to the top of the file
                banner: '{"numbers": [',
                // Will be added at the end of the file
                footer: "]}",
                separator: ','
            }
        }
    }
});

关于javascript - 结合 JSON 文件与 grunt-contrib-concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15939545/

相关文章:

javascript - 如何获得 Javascript 正则表达式匹配的字符串的实际值?

Angular : Multiple Calls for $http service

FFmpeg 从视频中间删除 2 秒并连接部分。单线解决方案

javascript - 单击按钮后无法读取刚刚在 JS 中创建的 DIV 的属性 ("null")

php - 使用ajax将JavaScript数组传输到PHP数组?

javascript - 当内容 Pane 中包含该复选框时,无法获取警告 ("...") 的复选框

javascript - 通过node发送数据到客户端页面

php - MediaWiki API - 'opensearch' & 'query' 和 API 调用 url 中的 'generator' & 'list' 有什么区别

video - 尝试将 11 秒的黑色视频连接到 5 分钟视频的末尾。在输出流错误中获取非单调 DTS

Javascript concat() 无法正常工作