JSON - renaming and duplicating a key - is it possible?
我正在尝试将一个csv文件解析为json,我已经完成了,它工作得很好。
现在,我需要将整个JSON中的"product_code"键重命名为"value",并复制它(将第二次迭代重命名为"label")。两者的值将保持不变。我无法编辑csv文件,这需要在javascript/jquery中完成。
希望这能更清楚地解释:
现有的:
1 2 3 4 5 6 7 8 9 10 11 12 | { "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" } |
我希望将此更改为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "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自动完成一起使用。
任何帮助都非常感谢!谈到JSON,我是个新手。
实现这一点的最佳方法是使用
1 2 3 4 5 6 | 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; } |
编辑:不需要将
应该是:
1 2 | new.value = existing.product_code; new.label = existing.product_code; |
对于现有的,要删除的属性。使用
1 | delete existing.product_code; |
我最终使用了以下代码,这很好-谢谢你把我放在正确的轨道上…
1 2 3 4 5 6 7 | 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; } |