javascript json 不显示所有条目

标签 javascript jquery json

我有一个非常基本的 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/

相关文章:

java - 如何在android上将JSONObject显示到TextView中

java - 字符串org.json.JSONException : Unterminated object at character

Javascript 练习 - 反转二维数组

javascript - 试图捕获与代码无关的错误,而是像互联网不工作那样的错误,我将如何去做呢?

jquery - 如何使 AjaxForm 与使用 jquery load() 加载的多个表单一起工作?

javascript - jQuery($) 在模块文件中不可用

php - JavaScript 表单验证 HTML 表格中的行

javascript - AJAX 不会从 Web api C# 返回值

javascript - 使用 istview 将动态列表项添加到动态创建的面板

java - 将 json 数组值反序列化为特定的 Java 类字段