2013-10-07 209 views
4

我需要这个JSON对象转换:转换JSON对象到JavaScript数组

"forms": 
     { 
      "Circle": 
      { 
       "color" : "red", 
       "size" : "1" 
      }, 
      "Square": 
      { 
       "color" : "blue", 
       "size" : "3" 
      }, 
      "triangle": 
      { 
       "color" : "black", 
       "size" : "4" 
      } 
     } 

到javascriptArray。 该数组应包含formType,颜色和大小。 我已经创建了下面的脚本

var formsArr=[]; 
$.each(forms, function(i, obj){ var form={color: obj.color, size: obj.size}; 
       formsArr.push(form); 

数组只包含颜色和大小。我想它也包含formType ie。圈子,我怎么得到钥匙?

回答

9

这里有一个办法做到这一点:

var forms = { 
    "Circle": { 
    "color" : "red", 
    "size" : "1" 
    }, 
    "Square": { 
    "color" : "blue", 
    "size" : "3" 
    }, 
    "triangle": { 
    "color" : "black", 
    "size" : "4" 
    } 
}; 

var result = Object.keys(forms).map(function(key) { 
    return { type: key, color: this[key].color, size: this[key].size }; 
}, forms); 

使用jQuery:

var result = $.map(forms, function(val, key) { 
    return { type: key, color: val.color, size: val.size }; 
});