2014-01-29 3 views
1

таким образом я получил JSON какjQuery: получить каждую пару ключевых значений из JSON?

{key:value, key2:value2, key3:value3...} 

Я хочу, чтобы цикл по каждой записи и получить его ключ и значение, так что я могу построить что-то вроде этого

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

я должен использовать подчеркивание вместо этого?

ответ

7

Попробуйте

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

Demo: Fiddle

+0

ах это отличное решение !!! – javastudent

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); 
});​ 
+1

Это не ответ, вопрос заключается в том, чтобы преобразовать объект в ключевые пары значений и я предполагаю, что имена свойств не известны –

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 Fiddle:http://jsfiddle.net/ygrG8/

Смежные вопросы