将json数据从两个编辑成一个对象

问题描述 投票:0回答:1

我在本地存储了这个json文件,我想从中修改它

{
    "COUNTRY": "Zimbabwe",
    "SEX": "Female",
    "Value": "61"
}, {
    "COUNTRY": "Zimbabwe",
    "SEX": "Male",
    "Value": "56"
}

对此

{
    "COUNTRY": "Zimbabwe",
    "Female": "61"
    "Male": "56"
}

因此,通过将男性和女性年龄放入一个COUNTRY对象来减少重复行的数量。我不想手动,因为有很多对象,任何想法?我只是有一个json文件,没有SQL或数据库编码的经验,但如果我有说明,我很乐意尝试SQL。

javascript json database
1个回答
2
投票

看看这个简单的解决方案,以实现您正在寻找的。

var X = JSON.parse('[{"COUNTRY": "Zimbabwe","SEX": "Female","Value": "61"},{"COUNTRY": "Zimbabwe","SEX": "Male","Value": "56"}]');
var Y = {};

if(X && typeof X === "object"){
  X.forEach(function(x){
    Y.COUNTRY = x.COUNTRY;
    if(x.SEX.toLowerCase() == "female") Y.FEMALE = x.Value;
    if(x.SEX.toLowerCase() == "male") Y.MALE = x.Value;
  });
}else{
  console.log("JSON Failure!");
}

console.log(JSON.stringify(X, null, 2));
console.log(JSON.stringify(Y, null, 2));

输出:

[
  {
    "COUNTRY": "Zimbabwe",
    "SEX": "Female",
    "Value": "61"
  },
  {
    "COUNTRY": "Zimbabwe",
    "SEX": "Male",
    "Value": "56"
  }
]

{
  "COUNTRY": "Zimbabwe",
  "FEMALE": "61",
  "MALE": "56"
}

工作jsBin

© www.soinside.com 2019 - 2024. All rights reserved.