jQuery:从JSON获取每个键值对?

时间:2014-01-29 10:13:46

标签: jquery json

所以我得到了像

这样的JSON
{key:value, key2:value2, key3:value3...}

我想遍历每个条目并获取它的键和值,这样我就可以构建类似这样的东西

{list:[{key:value}, {key2:value2}, {key3:value3}]}

我应该使用下划线吗?

3 个答案:

答案 0 :(得分:7)

尝试

var list = $.map(data, function(val, key){
    var o = {};
    o[key] = val;
    return o;
})
var obj = {
    list: list
}

演示:Fiddle

答案 1 :(得分:1)

您可以使用jQuery.each功能,如下所示

var data = [ 
 {"Id": 10004, "PageName": "club"}, 
 {"Id": 10040, "PageName": "qaz"}, 
 {"Id": 10059, "PageName": "jjjjjjj"}
];

$.each(data, function(i, item) {
    alert(data[i].PageName);
});​

$.each(data, function(i, item) {
    alert(item.PageName);
});​

答案 2 :(得分:0)

在这种情况下无需使用库。这可以使用原生JS来完成:

var json = {key:"1", key2:"2", key3:"3"};

var result = {list:[]};
for(var field in json){
    if(json.hasOwnProperty(field)){
        var obj = {}
        obj[field] = json[field];
        result.list.push(obj);
    }
}

//result contains the desired array

JS小提琴: http://jsfiddle.net/ygrG8/