2013-10-07 159 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 }; 
});