2015-04-07 5 views
-3

Как я могу получить доступ к этим элементам JSON с помощью javascript или JQuery и использовать цикл?Как я могу получить доступ к элементам JSON?

{"d":"[{\"aa\":\"11111111111111111111\",\"bb\":\"222222222222222222\"},{\"aa\":\"33333333333333333333\",\"bb\":\"444444444444444444\"}]"} 
+0

, то это не имеет смысла. Не нормально обертывать массив внутри таких кавычек. Пожалуйста, будьте более конкретны в своих проблемах и покажите, что вы пробовали – charlietfl

ответ

0
var mydata = {"d":"[{\"aa\":\"11111111111111111111\",\"bb\":\"222222222222222222\"}, 
{\"aa\":\"33333333333333333333\",\"bb\":\"444444444444444444\"}]"}; 

var result = mydata.d; 

var objects = jQuery.parseJSON(result); 

$.each(objects , function(idx, obj) { 
    alert(obj.aa); 
    //or you can use idx 
    alert(objects[idx].aa); 
    alert(objects[idx].bb); 
}); 

Вот рабочий код: https://jsfiddle.net/1te9ojqt/

+0

, работая хорошо, но как я могу получить доступ к значению элемента по индексу вместо использования «obj.aa» или «obj.bb» – Mike

+0

@Mike вы можете использовать 'objects [ idx] ', я обновил свой ответ. – renakre

0

Вы можете цикл через объект, используя для цикла

Например

var jsonData = {"d":"[{\"aa\":\"11111111111111111111\",\"bb\":\"222222222222222222\"},{\"aa\":\"33333333333333333333\",\"bb\":\"444444444444444444\"}]"}; 

for (var key in jsonData){ 
    console.log(jsonData[key]); //will output [{\"aa\":\"11111111111111111111\",\"bb\":\"222222222222222222\"},{\"aa\":\"33333333333333333333\",\"bb\":\"444444444444444444\"}] 
    console.log(key) //will output "d" 
} 
0

Похоже, у вас есть объект внутри объекта. Вы могли бы сделать

jsonData.d = JSON.parse(jsonData.d);

сделать это ребенок и JSON объект вместо строки.

Вы можете использовать jQuery.each для итерации по объекту.

https://api.jquery.com/jquery.each/

Пример

var jsonData = {"d":"[{\"aa\":\"11111111111111111111\",\"bb\":\"222222222222222222\"},{\"aa\":\"33333333333333333333\",\"bb\":\"444444444444444444\"}]"}; 

$.each(jsonData, function(key, value){ 
    jsonData[key] = JSON.parse(value); 
}); 

Это сделает объект ясно. Если вам нужен recursi

+0

* «Похоже, что у вас есть объект внутри объекта». * Нет, значения свойств - это * строки *, содержащие JSON. –

+0

Да, я имел в виду, что «объект wannabe». Вы нашли полезный метод $ .each? синтаксический анализ сыновей с JSON.parse? –

+0

Уверенный ........... –

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