gpt4 book ai didi

javascript - 如何在javascript中将数据从旧json复制到新json?

转载 作者:行者123 更新时间:2023-12-03 21:01:39 25 4
gpt4 key购买 nike

我有一个json。如果提供者是“AXIS DATA”,我需要将“数据”的内容复制到新的 json 文件中。如何?

我试过的是

首先我用 json.parse 转换并用 for 循环搜索它。

这是我到目前为止的代码

var hasilsearching = {};
var hasildata = JSON.parse( FIRST JSON );
for (var i=0 ; i < hasildata.data.length ; i++){
if (hasildata.data[i].provider == "AXIS DATA") {
hasilsearching = hasildata.data[i];
}
}

但不是我所期望的。我知道 if()里面是问题所在。但我不知道。

这是我的 json 文件
{
"errNumber": "0",
"userID": "EKL0003097",
"data": [
{
"code": "BXD1",
"price": "15000.00",
"name": "Voucher Axis Aigo 1GB 24J 30H",
"ep": "770",
"isActive": "Active",
"type": "KUOTA",
"provider": "AXIS DATA"
},
{
"code": "BXD2",
"price": "25000.00",
"name": "Voucher Axis Aigo 2GB 24J 30H",
"ep": "660",
"isActive": "Active",
"type": "KUOTA",
"provider": "AXIS DATA"
},
{
"code": "BOLT1",
"price": "31000.00",
"name": "Bolt Kuota 1,5GB 24Jam 30hr",
"ep": "1320",
"isActive": "Active",
"type": "KUOTA",
"provider": "BOLT"
},
{
"code": "BOLT3",
"price": "50000.00",
"name": "Bolt Kuota 3GB 24Jam 30hr",
"ep": "1127",
"isActive": "Active",
"type": "KUOTA",
"provider": "BOLT"
}
],
"respMessage": "PROSES BERHASIL"
}

这是预期的新 json 文件
{
"data": [
{
"code": "BXD1",
"price": "15000.00",
"name": "Voucher Axis Aigo 1GB 24J 30H",
"ep": "770",
"isActive": "Active",
"type": "KUOTA",
"provider": "AXIS DATA"
},
{
"code": "BXD2",
"price": "25000.00",
"name": "Voucher Axis Aigo 2GB 24J 30H",
"ep": "660",
"isActive": "Active",
"type": "KUOTA",
"provider": "AXIS DATA"
}
]
}

最佳答案

data 添加一个空数组hasilsearching 的属性(property), 和 push任何匹配:

var hasildata = {"errNumber":"0","userID":"EKL0003097","data":[{"code":"BXD1","price":"15000.00","name":"Voucher Axis Aigo 1GB 24J 30H","ep":"770","isActive":"Active","type":"KUOTA","provider":"AXIS DATA"},{"code":"BXD2","price":"25000.00","name":"Voucher Axis Aigo 2GB 24J 30H","ep":"660","isActive":"Active","type":"KUOTA","provider":"AXIS DATA"},{"code":"BOLT1","price":"31000.00","name":"Bolt Kuota 1,5GB 24Jam 30hr","ep":"1320","isActive":"Active","type":"KUOTA","provider":"BOLT"},{"code":"BOLT3","price":"50000.00","name":"Bolt Kuota 3GB 24Jam 30hr","ep":"1127","isActive":"Active","type":"KUOTA","provider":"BOLT"}],"respMessage":"PROSES BERHASIL"};

var hasilsearching = { data: [] };
for (var i=0 ; i < hasildata.data.length ; i++){
if (hasildata.data[i].provider == "AXIS DATA") {
hasilsearching.data.push(hasildata.data[i]);
}
}

console.log(hasilsearching);
.as-console-wrapper { max-height: 100% !important; top: auto; }


它也更容易使用 filter :

var hasildata = {"errNumber":"0","userID":"EKL0003097","data":[{"code":"BXD1","price":"15000.00","name":"Voucher Axis Aigo 1GB 24J 30H","ep":"770","isActive":"Active","type":"KUOTA","provider":"AXIS DATA"},{"code":"BXD2","price":"25000.00","name":"Voucher Axis Aigo 2GB 24J 30H","ep":"660","isActive":"Active","type":"KUOTA","provider":"AXIS DATA"},{"code":"BOLT1","price":"31000.00","name":"Bolt Kuota 1,5GB 24Jam 30hr","ep":"1320","isActive":"Active","type":"KUOTA","provider":"BOLT"},{"code":"BOLT3","price":"50000.00","name":"Bolt Kuota 3GB 24Jam 30hr","ep":"1127","isActive":"Active","type":"KUOTA","provider":"BOLT"}],"respMessage":"PROSES BERHASIL"};

var hasilsearching = { data: hasildata.data.filter(({ provider }) => provider == "AXIS DATA") };

console.log(hasilsearching);
.as-console-wrapper { max-height: 100% !important; top: auto; }

关于javascript - 如何在javascript中将数据从旧json复制到新json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55823750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com