将JSON对象的表示形式更改为显式键/值格式

时间:2016-05-13 17:01:10

标签: javascript json

我有以下JSON:

{
    "temperature": "22.2",
    "power": "6",
    "current": "156"
}

我需要将它转换为这种显式结构:

{
    "key": "temperature",
    "value": "22.2"
},
{
    "key": "power",
    "value": "6"
},
{
    "key": "current",
    "value": "156"
}

有一种优雅,简单,快捷的方法吗?

最好,thx

2 个答案:

答案 0 :(得分:5)

var newStructure = Object.keys(obj).map(function(key){
    return {'key':key, 'value':obj[key]}
})

实施例

var obj = {
    "temperature": "22.2",
    "power": "6",
    "current": "156"
}

var arr = Object.keys(obj).map(function(key){return {'key':key,'value':obj[key]}})

console.log(arr)

答案 1 :(得分:2)

Object.hashToKeyValuePairs = function (hash) {
  var ret = []; 
  for (var i in hash) 
    ret.push({ key: i, value: hash[i]}); 
  return ret; 
};

// example
document.body.innerHTML = JSON.stringify(
    Object.hashToKeyValuePairs({ a: 1, b: 2, c: 3 })
);