2015-03-31 2 views
1

Я на вызов с помощью Ajax JavaScript для страницы (ASP), который возвращает JSON , с которым я бы тогда перейти к отборной значениеJavascript Для каждого JSON

, что я JSON возвращаемые этого типа

{ 
    "options": { 
    "1": "All locations", 
    "2": "Egypt", 
    "3": "El Alamein", 
    "4": "Marsa matrouh", 
    "5": "Sharm el sheikh " 
    } 
} 

или

{ 
    "options": { 
    "1": "All locations", 
    "2": "Abu dhabi", 
    "3": "Dubai" 
    } 
} 

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

Я ищу в сети, но примеры, показанные всегда с именем поля, чтобы напомнить, что я не мог узнать, не зная длину

мог кто-то любезно показал мне, как это езда на велосипеде JSON

+0

Если вы используете jquery try '$ .each()' – Raja

ответ

5
var obj = {"options": {"1": "All locations", "2": "Egypt", "3": "El Alamein", "4": "Marsa matrouh", "5": "Sharm el sheikh "}} 

for(var item in obj.options) { 
    console.log(obj.options[item]); 
} 
+0

Быстрее меня :-) – csblo

+0

Спасибо за помощь. Я бы добавил, что я запускаю данные синтаксического анализа, которые возвращаются из вызова ajax var obj = JSON.parse (myJsonAjax) – Kevin

3

для итерация словаря вы можете подать в суд на это:

var dict = obj.options; 
Object.keys(dict).forEach(function(key) { 
    console.log(key +': '+ dict[key]); 
}); 

знать только длину вы может просто использовать:

Object.keys(dict).length; 

Я думаю, что здесь вы можете найти больше ответов: How do I loop through or enumerate a JavaScript object?

1

Используйте for in loop

var obj = {"options": {"1": "All locations", "2": "Egypt", "3": "El Alamein", "4": "Marsa matrouh", "5": "Sharm el sheikh "}}; 
 

 
var ul = document.querySelector('ul'); 
 
for (var index in obj.options) { 
 
    var li = document.createElement('li') 
 
    ul.appendChild(li); 
 
    li.innerHTML = index + ": " + obj.options[index]; 
 
    
 
}
<ul ></ul>

0

слишком легко использовать for петля

var obj = {"options": {"1": "All locations", "2": "Egypt", "3": "El Alamein", "4": "Marsa matrouh", "5": "Sharm el sheikh "}}; 

for(key in obj.options) { 
    console.log(key, obj.options[key]); 
} 
Смежные вопросы