У меня есть следующий ответ JSON верхушкы XMLHttpRequest
:Как распечатать значения вложенных объектов строки JSON?
{
"success":true,
"result":{"1":{"id":"1","question":"What is one + two","answer":"three"},
"2":{"id":"2","question":"two + four","answer":"six"},
"3":{"id":"3","question":"one + three","answer":"for"}
}
}
Я хочу, чтобы отобразить все вопросы в маркированный список и все ответы в маркированный список бок о бок. Сейчас у меня есть следующий (я включил этот code добавить JSON.parse
функциональности, должно работать):
<script type="text/javascript" src="json2.js"></script>
// ...
var response = JSON.parse(xhr.requestText);
var list = document.getElementById('listQuestions');
for (var i = 0 ; i < response.length; i++){
list.innerHTML += '<li>' + response[i].question + '</li>'; // I'm certain this is wrong--I also tried the following but it's not what I'm looking for:
// for (var key in response) {
// console.log("Key: "+key+" value: "+response[key]);
// }
}
// ...
</script>
Вы можете создать jsfiddle? –
Ваш «ответ» - это объект, а не массив. 'response.length' не существует. Кроме того, вам не нужно перебирать «response.result» (который также является объектом)? –
@RocketHazmat Итак, я обращаюсь к объекту результата внутри объекта ответа, выполняя 'for (var key в response.result) {}' then 'console.log (response.result [key])? – Iteration