我试图将csv文件解析为JSON,我已经完成了,并且它正常工作。
我现在需要重命名" product_code'密钥在整个JSON到'值',并且还复制它(重命名第二次迭代'标签')。两者的值保持不变。我无法编辑csv文件,这需要在JavaScript / jQuery中完成。
希望这会更清楚地解释它:
现有:
{
"brand":"BrandName1",
"product_code":"001",
"product_name":"White Picture Frame",
"product_barcode":"1009842098"
},
{
"brand":"BrandName2",
"product_code":"002",
"product_name":"Yellow Picture Frame",
"product_barcode":"0982149872"
}
我希望将其更改为:
{
"brand":"BrandName1",
"value":"001",
"label":"001",
"product_name":"White Picture Frame",
"product_barcode":"1009842098"
},
{
"brand":"BrandName2",
"value":"002",
"label":"002",
"product_name":"Yellow Picture Frame",
"product_barcode":"0982149872"
}
这样可以与jQuery Autocomplete一起使用。
任何帮助非常感谢!对于JSON,我是一个新手。
答案 0 :(得分:3)
执行此操作的最佳方法是JSON.parse()
您的数据,然后遍历其构建的对象中的项目并添加您想要的密钥。类似的东西:
var data = JSON.parse(myJsonString);
for (var i = 0; i < data; i++) {
data[i].value = data[i].product_code;
data[i].label = data[i].product_code;
data[i].product_code = undefined;
}
编辑:您可以使用product_code
将其完全删除,而不是将undefined
更改为delete data[i].product_code;
。有关详细信息,请参阅此处:https://stackoverflow.com/a/3455416/5169684。
答案 1 :(得分:1)
应该是:
UICollectionViewDelegate
至于您要删除的现有属性。使用new.value = existing.product_code;
new.label = existing.product_code;
。
delete
答案 2 :(得分:0)
我最终使用了以下代码,这很好用 - 感谢我把它放在正确的轨道上......
var i;
for(i = 0; i < productList.length; i++){
productList[i].value = productList[i]['product_code'];
productList[i].label = productList[i]['product_code'];
delete productList[i].product_code;
}