我有一个非常基本的 json 文件,我正在使用 jquery/javascript 加载它。现在我只是想提醒我的一些数据。我遇到的问题是,我的 JSON 文件中有 3 个主要项目(称为“类别”),但由于某种原因,您只能读取最后一项。
我的 JSON 文件如下所示:
{
"category":{
"name":"Caribbean Travel",
"article":{
"id": "1",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}
},
"category":{
"name":"European Travel",
"article":{
"id": "2",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}
},
"category":{
"name":"U.S. Travel",
"article":{
"id": "3",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}
}
}
我调用 json 文件并警告一些信息,如下所示:
$(document).ready(function(){
$.getJSON("news.json",
function(data){
alert(JSON.stringify(data));
//alert(data.category.article.id);
});
});
因此,当我查看数据时,我看到的只是最后一个类别信息(美国旅行)。它根本不显示前 2 名。我无法使用 data.category[1] 或类似的东西引用它们。
有人知道我在这里做错了什么吗?
谢谢
最佳答案
您的 json 文件应如下所示:
[{
"name": "Caribbean Travel",
"articles": [{
"id": "1",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}]
}, {
"name": "European Travel",
"articles": [{
"id": "2",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}]
}, {
"name": "U.S. Travel",
"articles": [{
"id": "3",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}, {
"id": "4",
"title": "",
"teaser": "",
"image": "",
"date": "",
"map": "",
"body": ""
}]
}]
data[0]
将是第一个类别,data[1]
将是第二个类别,依此类推。
alert(data[0].articles[0].id) //alert first category's first article's id
alert(data[2].name) //alert third category's name
alert(data[1].articles[0].body) //alert second category's first article's body
alert(data[2].articles[1].body) //alert third category's second article's body
关于javascript json 不显示所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11526174/