比如我从php获取了json数据如下:
data = {"Firefox":45,"IE":26.8,"Chrome":{"name":"chrome","y":28.2,"sliced":true},"Safari":8.5,"Opera":6.2,"Others":0.7}但他series中的data数据如下:            series: [{
                type: 'pie',
                name: 'Browser share',
                data: [
                    ['Firefox',   45.0],
                    ['IE',       26.8],
                    {
                        name: 'Chrome',
                        y: 12.8,
                        sliced: true,
                        selected: true
                    },
                    ['Safari',    8.5],
                    ['Opera',     6.2],
                    ['Others',   0.7]
                ]
            }]
我怎么将上面的data转换成下面的data

解决方案 »

  1.   


      var data = {"Firefox":45,"IE":26.8,"Chrome":{"name":"chrome","y":28.2,"sliced":true},"Safari":8.5,"Opera":6.2,"Others":0.7}
      var ds=[]
      for(var k in data){
       ds.push( typeof(data[k])=='object'?data[k]:[k,data[k]])
      }
    var newData={
    series: [{
                    type: 'pie',
                    name: 'Browser share',
                    data:ds  
                }]
    }
      
      

  2.   

    哦。只能手动遍历啊。  如果他这个可以直接接收json数据就好了。
      

  3.   


    var data = { "Firefox": 45, "IE": 26.8,
                    "Chrome": { "name": "chrome", "y": 28.2, "sliced": true },
                    "Safari": 8.5,
                    "Opera": 6.2,
                    "Others": 0.7
                };var data2 = data.toJSONString();
    var data3 = $.parseJSON('[' + data2 + ']');