繁体   English   中英

how to retrieve specific keys / values from json object and add into another json object in jQuery

[英]how to retrieve specific keys / values from json object and add into another json object in jQuery

我有一个 json object 如下:

var jsonData = [
{COUNTRY_NAME: "Belgium", COUNTRY_CODE: "BE", TERRITORY: "BENELUX", MARKET: "Benelux", REGION: "NORTH"},
{COUNTRY_NAME: "Italy", COUNTRY_CODE: "IT", TERRITORY: "ITALY", MARKET: "ITALY", REGION: "SOUTH"},
{COUNTRY_NAME: "Spain", COUNTRY_CODE: "SP", TERRITORY: "SPAIN", MARKET: "SPAIN", REGION: "SOUTH"},...
];

我想从jsonData中的每个数组中提取具有其值( COUNTRY_NAMEREGION )的特定键,因此我的最终结果应如下所示:

var jsonFinal = [
{COUNTRY_NAME: "Belgium", REGION: "NORTH"},
{COUNTRY_NAME: "Italy", REGION: "SOUTH"},
{COUNTRY_NAME: "Spain", REGION: "SOUTH"},...
];

我可以让它工作,但我相信有更好的方法来做到这一点。 我所做的是:

我遍历我的 json object 中的每个数组并删除我不需要的键,但现在我的情况是我有多个键要删除并且不想一个一个地删除。

有什么建议请我如何从 json object 中提取特定密钥并添加到另一个 json ZA8CFDE6331BD59EB2AC96F8911ZB4 中? 非常感谢。

 var jsonData = [ {COUNTRY_NAME: "Belgium", COUNTRY_CODE: "BE", TERRITORY: "BENELUX", MARKET: "Benelux", REGION: "NORTH"}, {COUNTRY_NAME: "Italy", COUNTRY_CODE: "IT", TERRITORY: "ITALY", MARKET: "ITALY", REGION: "SOUTH"}, {COUNTRY_NAME: "Spain", COUNTRY_CODE: "SP", TERRITORY: "SPAIN", MARKET: "SPAIN", REGION: "SOUTH"} ]; for (var i = 0; i < jsonData.length; i++) { //console.log(jsonData[i]); delete jsonData[i]['COUNTRY_CODE']; delete jsonData[i]['TERRITORY']; delete jsonData[i]['MARKET']; } var finalJSON = jsonData; console.log(finalJSON);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

您可以在不改变原始数组的情况下执行此操作。

 var jsonData = [{ COUNTRY_NAME: "Belgium", COUNTRY_CODE: "BE", TERRITORY: "BENELUX", MARKET: "Benelux", REGION: "NORTH" }, { COUNTRY_NAME: "Italy", COUNTRY_CODE: "IT", TERRITORY: "ITALY", MARKET: "ITALY", REGION: "SOUTH" }, { COUNTRY_NAME: "Spain", COUNTRY_CODE: "SP", TERRITORY: "SPAIN", MARKET: "SPAIN", REGION: "SOUTH" } ]; let newData = [] for (let v of jsonData) { newData.push({ COUNTRY_NAME: v.COUNTRY_NAME, REGION: v.REGION }) } console.log(newData);

现代 Javascript 中最简单的方法是使用map和 object 解构:

 var jsonData = [ {COUNTRY_NAME: "Belgium", COUNTRY_CODE: "BE", TERRITORY: "BENELUX", MARKET: "Benelux", REGION: "NORTH"}, {COUNTRY_NAME: "Italy", COUNTRY_CODE: "IT", TERRITORY: "ITALY", MARKET: "ITALY", REGION: "SOUTH"}, {COUNTRY_NAME: "Spain", COUNTRY_CODE: "SP", TERRITORY: "SPAIN", MARKET: "SPAIN", REGION: "SOUTH"} ]; var transformed = jsonData.map(({ COUNTRY_NAME, REGION }) => ({ COUNTRY_NAME, REGION })); console.log(transformed);

var jsonData = [
{COUNTRY_NAME: "Belgium", COUNTRY_CODE: "BE", TERRITORY: "BENELUX", MARKET: "Benelux", REGION: "NORTH"},
{COUNTRY_NAME: "Italy", COUNTRY_CODE: "IT", TERRITORY: "ITALY", MARKET: "ITALY", REGION: "SOUTH"},
{COUNTRY_NAME: "Spain", COUNTRY_CODE: "SP", TERRITORY: "SPAIN", MARKET: "SPAIN", REGION: "SOUTH"}
];

 var finalData=[];
jsonData.forEach(buidFinalData);

function buidFinalData(item, index) {
  finalData.push({
  COUNTRY_NAME: item.COUNTRY_NAME, REGION: item.REGION
  })
}

console.log(finalData);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM