У меня есть json файл, чтобы получить список результатов теста. Ниже приведен json файл. И короткий фрагмент jquery. Я пытаюсь получить идентификатор теста из json и отображать их как неупорядоченный список. Как я могу это сделать?
[
{
"Test":{
"id":"2949",
"bk_session_id":"qpmz3gd6xw",
"series_type":"Cars Series",
"book_type":"A",
}
},
{
"Test":{
"id":"2950",
"bk_session_id":"qpmz3gd6xw",
"series_type":"Cars Series",
"book_type":"A",
}
}
]
<script type="text/javascript">
$.getJSON("http://localhost:8888/tests/students.json?id=qpmz3gd6xw", function(data) {
for (var i in data)
{
alert(data[i].[Test].id);
}
});
</script>
Вам не хватает кавычек вокруг Test
, это должна быть строка и удалить точку перед ней.
alert(data[i]['Test'].id);
Кроме того ваш JSON не является действительным, удалите завершающий ,
после каждого book_type.
[
{
"Test":{
"id":"2949",
"bk_session_id":"qpmz3gd6xw",
"series_type":"Cars Series",
"book_type":"A"
}
},
{
"Test":{
"id":"2950",
"bk_session_id":"qpmz3gd6xw",
"series_type":"Cars Series",
"book_type":"A"
}
}
]
.
до [Test]
, alert(data[i]['Test'].id);
Прокрутите элементы в массиве и добавьте узлы для каждого идентификатора.
$.each(obj, function (i, item) {
ul.append($('<li>' + item.Test.id + '</li>'));
});
Пытаться
var ul = '';
for (var i in data)
{
ul += '<li>'+data[i]['Test'].id+'</li>';
}
$('#el').append($('<ul/>').html(ul));
var ul = ''
;
Вы можете попробовать следующее:
alert( data[i].Test.id );
Полный код:
$.getJSON("http://localhost:8888/tests/students.json?id=qpmz3gd6xw", function(data) {
for (var i in data) {
alert( data[i].Test.id );
}
});
Вы можете делать data[i]['Test'].id
или data[i].Test.id
поскольку в имени нет места.