inputJson = {
    "mn": {
        "mt1": 1,
        "mtop": 2,
        "ot1": 3
    },
    "ln": {
        "mt1": 4,
        "mtop": 5,
        "ot1": 6
    }
}

OutputArrayOfJson=[
     { rs: "mt1", mn: 1, ln: 4 },
     { rs: "mtop", mn: 2, ln: 5 },
     { rs: "ot1", mn: 3, ln: 6 }
]



rs是硬编码密钥。


我不知道为什么很难进行此操作。

最佳答案

它是javascript对象的转换

inputJson = {
  "mn": {
    "mt1": 1,
    "mtop": 2,
    "ot1": 3
  },
  "ln": {
    "mt1": 4,
    "mtop": 5,
    "ot1": 6
  }
}

d = {};
for(var key1 in inputJson){
  for(var key2 in inputJson[key1]) {
    if(!(key2 in d)){
      d[key2]={};
    }
    d[key2][key1] = inputJson[key1][key2];
  }
}

v = [];
for(var k in d){
  var o = {};
  o.rs=k;
  for(var k2 in d[k]){
    o[k2] = d[k][k2];
  }
  v.push(o);
}

//result is in v


注意:下一次您是否应该显示示例代码将有所帮助

10-04 21:07