Javascript 将Web服务对象列表转换为数组数组

Javascript 将Web服务对象列表转换为数组数组,javascript,jquery,arrays,jqplot,Javascript,Jquery,Arrays,Jqplot,我有一个.NET web服务返回如下列表: {"d":[{"__type":"EventTypeSum","EventType":"Carpool","Value":"32.0","Earned":null},{"__type":"EventTypeSum","EventType":"Bus","Value":"4.0","Earned":null},{"__type":"EventTypeSum","EventType":"Bike","Value":"4.5","Earned":null},

我有一个.NET web服务返回如下列表:

{"d":[{"__type":"EventTypeSum","EventType":"Carpool","Value":"32.0","Earned":null},{"__type":"EventTypeSum","EventType":"Bus","Value":"4.0","Earned":null},{"__type":"EventTypeSum","EventType":"Bike","Value":"4.5","Earned":null},{"__type":"EventTypeSum","EventType":"Walk","Value":"2.5","Earned":null},{"__type":"EventTypeSum","EventType":"Telework","Value":"9.0","Earned":null},{"__type":"EventTypeSum","EventType":"Alternate Schedule","Value":"3.0","Earned":null}]}
我需要它的格式

[[['Carpool', 32], ['Bus', 4], ['Bike', 4.5], ['Walk', 2.5], ['Telework', 9], ['Alternate Schedule', 3]]]
用于jQuery jqplot

我如何在AJAX调用中转换它?我试过几种方法,但都不管用

    var ajaxDataRenderer = function (url, plot1, options) {
        var ytdData = new Array();
        $.ajax({
            type: "POST",
            async: false,
            cache: false,
            url: url,
            contentType: "application/json; charset=utf-8",
            datatype: "json",
            data: JSON.stringify({
                start: "01-01-" + $("#<%=year_DropDownList.ClientID%>").val()
            }),
            success: function (data) {
                $.each(data.d, function (i, data) {
                    ytdData.push(data.EventType);
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest + " : " + textStatus + " : " + errorThrown);
            }
        });
        return ytdData;
    }
var ajaxDataRenderer=函数(url、绘图1、选项){
var ytdData=新数组();
$.ajax({
类型:“POST”,
async:false,
cache:false,
url:url,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:JSON.stringify({
开始:“01-01-”+$(“#”)val()
}),
成功:功能(数据){
$.each(data.d,function(i,data){
ytdData.push(data.EventType);
});
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(XMLHttpRequest+“:”+textStatus+“:”+ErrorSwink);
}
});
返回YTData;
}

您应该使用
ytdData=[]
,但没关系

$.each(data.d, function () {
    ytdData.push([data.EventType, data.Value]);
});
在您的需求中有一个三重嵌套数组(而不仅仅是从上面得到的两倍)。我不明白您为什么需要这个,但它需要以下更改:

ytdData = [[]];

ytdData[0].push