我有一个包含很长数据列表的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"
}
]
答案 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;
答案 1 :(得分:0)
如果您的JSON对象ID按排序顺序分配,则无需加倍循环,请使用index + 1
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
}