1

我有以下 JSON 数据结构:

var data = <%=request.getAttribute("jsondata")%>;

那是我的data

[
    {
        "name": "User I/O"
    },
    {
        "key": "61410583140000"
    },
    {
        "value": "125"
    },
    {
        "name": "User I/O"
    },
    {
        "key": "61410583200000"
    },
    {
        "value": "184"
    },
    ...
]

现在我想要类似的东西:

[ 
   //Squared brackets!!
   [key,value]  
   [key,value]
   [key,value]
]

转换的正确代码是什么?

4

2 回答 2

2

这就是您想要的 - 编辑:删除了不必要的过滤器,reduce 负责忽略“名称”条目。

data.reduce(function(a,b){ 
                if (b.key) { 
                    a.push(b.key);
                } 
                else if (b.value){
                        var key = a.pop(); 
                        a.push([key, b.value]);
                }
                return a;
            }, []);

这将返回一个这样的数组 -

[[61410583140000,125],[61410583200000,184]]
于 2015-12-17T12:00:14.703 回答
1
    var result = [];
    for(var i in json_data)
        result.push([i, json_data [i]]);

这应该工作得很好

于 2015-12-17T11:09:22.700 回答