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]); } |