Javascript For each json
本问题已经有最佳答案,请猛点这里访问。
我正在通过Ajax JavaScript调用一个返回JSON的页面(ASP)。然后我将使用它转到选择值
我返回的JSON是这种类型的
1 2 3 4 5 6 7 8 9  | { "options": { "1":"All locations", "2":"Egypt", "3":"El Alamein", "4":"Marsa matrouh", "5":"Sharm el sheikh" } }  | 
或
1 2 3 4 5 6 7  | { "options": { "1":"All locations", "2":"Abu dhabi", "3":"Dubai" } }  | 
我不知道长度和包含的元素然后我会做一个循环,允许我提取值,然后插入值和标签
我在看网络,但是所示的例子总是带有字段名,要记住,我不能不知道长度。
有人能给我演示一下这个自行车JSON吗
1 2 3 4 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]); }  | 
对于迭代字典,可以使用以下方法:
1 2 3 4  | var dict = obj.options; Object.keys(dict).forEach(function(key) { console.log(key +': '+ dict[key]); });  | 
要只知道您可以简单地使用的长度:
1  | Object.keys(dict).length;  | 
我认为在这里你可以找到更多的答案:如何循环或枚举JavaScript对象?
使用
1 2 3 4 5 6 7 8 9  | 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]; }  | 
1 2  | <ul > </ul>  | 
使用
1 2 3 4 5  | 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]); }  |