我有这种格式的数组数据,我想得到键和值数组。 如何从javascript中获取此数组的键和值。
jsonData = [
{"dimensions":[5.9,3.9,4.4,3.1,4.8],"icon":0,"curves": [false,false,false,false,false],"id":"p1","color":"0x000000"},
{"dimensions":[5.9,3.9,4.4,3.1,4.8],"icon":0,"curves": [false,false,false,false,false],"id":"p1","color":"0x000000"},
{"dimensions":[5.9,3.9,4.4,3.1,4.8],"icon":0,"curves": [false,false,false,false,false],"id":"p1","color":"0x000000"}
];
答案 0 :(得分:2)
我已实施此解决方案
function getDataArray(name='', index=''){
elements = generateDataArray("profiles");
arrData = $.parseJSON(elements);
data = new Array();
color = new Array();
dataid = new Array();
$.each(arrData,function(key,val){
$.each(val,function(key2,val2){
if(key2=="dimensions"){
data.push(val2)
}else if(key2=="color"){
color.push(val2)
}
})
})
number =0;
newArray = new Array();
while(number<data.length){
newArray[number] = new Array(data[number],color[number])
number++;
}
return newArray;
}
答案 1 :(得分:1)
更新:已添加eval
。没注意到它是在一个字符串中。
在我看来,你最大的问题是它全部包含在一个包含单个元素的数组中。你可以这样做:
var element = eval(jsonData)[0];
eval
可以从字符串转换为javascript对象。
然后,要访问任何内容(例如dimensions
数组),请执行以下操作:
var dimensions = element.dimensions;