将 JSON 对象转换为 javascript 数组
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19219489/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Converting JSON object to javascript array
提问by CruelIO
I need to convert this json object:
我需要转换这个 json 对象:
"forms":
{
"Circle":
{
"color" : "red",
"size" : "1"
},
"Square":
{
"color" : "blue",
"size" : "3"
},
"triangle":
{
"color" : "black",
"size" : "4"
}
}
Into an javascriptArray. The array should contain formType, color and size. I have created the following script
进入一个 javascriptArray。该数组应包含 formType、颜色和大小。我创建了以下脚本
var formsArr=[];
$.each(forms, function(i, obj){ var form={color: obj.color, size: obj.size};
formsArr.push(form);
The array only contains color and size. I want it to also containt formType ie. Circle, how can I get the key?
该数组仅包含颜色和大小。我希望它也包含 formType 即。圈子,我怎样才能得到钥匙?
回答by elclanrs
Here's a way to do it:
这是一种方法:
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);
With jQuery:
使用 jQuery:
var result = $.map(forms, function(val, key) {
return { type: key, color: val.color, size: val.size };
});