我正在尝试将csv文件解析为JSON,这已经完成,并且工作正常。

现在,我需要将整个JSON中的“ product_code”键重命名为“ value”,并复制它(将第二次迭代命名为“ label”)。两者的值将保持相同。我无法编辑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的新手。

最佳答案

最好的方法是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

09-10 11:30
查看更多