将 JSON 数据从两个编辑为一个对象



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

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

对此

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

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

看看这个简单的解决方案来完成你正在寻找的东西。

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

最新更新