自动修改JSON数据并保存构建

时间:2016-04-15 12:51:04

标签: javascript json gulp

我有一个包含很长数据列表的JSON,我需要添加硬编码ID(静态)。我想知道如何在运行流程时自动执行此操作,例如gulp等工具?我希望它为任务提供一个文件并修改其内容(如下所示),然后使用更新的数据永久保存该文件。

这就是数据的样子,例如: -

[
  {
    "title": "Lorem ipsum",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
  },
  {
    "title": "Maecenas ac elit",
    "text": "Maecenas ac elit vitae lorem interdum tincidunt"
  }
]

以下是我正在寻找的回报: -

[
  {
    "id" : "1",
    "title": "Lorem ipsum",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
  },
  {
    "id" : "2",
    "title": "Maecenas ac elit",
    "text": "Maecenas ac elit vitae lorem interdum tincidunt"
  }
]

2 个答案:

答案 0 :(得分:1)

使用Array#forEach(),并为id属性增加索引。



var array = [{ "title": "Lorem ipsum", "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit" }, { "title": "Maecenas ac elit", "text": "Maecenas ac elit vitae lorem interdum tincidunt" }];

array.forEach(function (a, i) {
    a.id = (i + 1).toString();
});

document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您的JSON对象ID按排序顺序分配,则无需加倍循环,请使用index + 1

例如:http://json.live/173fqW

var arr = [{},{},{},{}];

for( var i = 0; i < arr.length; i++ )
{
    var obj = arr[i];
    var id = i+1; //<<-- this is the ID ( array stars from 0 we added +1 to start from 1
}