-5

我有这种格式的数组数据,我想获取键和值数组。如何在 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"}
];
4

2 回答 2

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;
 }
于 2013-04-12T04:31:33.117 回答
1

更新:添加eval。没有注意到它是在一个字符串中。

在我看来,您最大的问题是它全部包装在一个带有单个元素的数组中。你可以做:

var element = eval(jsonData)[0];

可以从eval字符串转换为 javascript 对象。然后,要访问任何内容(例如dimensions数组),请执行以下操作:

var dimensions = element.dimensions;
于 2013-04-11T09:53:14.357 回答