JSON使用javascript显示一个数据

时间:2015-04-13 08:11:04

标签: javascript json html5

我有这个json,我想在我的html5中使用javascript显示“cat_news”,

[
{
    "id_news": "3",
    "cat_news": "Category Three",
    "title": "News Content next",
    "content": "testingg\nThis is some content\nwith long post\n",
    "media": "7e3e9-komodo.jpg",
    "message": "Broadcast message news 3"
}
{
    "id_news": "4",
    "cat_news": "Category Three",
    "title": "News Content next",
    "content": "testingg\nThis is some content\nwith long post\n",
    "media": "7e3e9-komodo.jpg",
    "message": "Broadcast message news 3"
}
]

但是当我使用我的剧本时:

$(data).each(function() {
var title = "<h3 class='title-a'>"+ this.cat_news + "</h3>";
$('#title').append(title);
});

重复显示(多个结果)。 你能帮助我只显示一个结果吗?

由于

4 个答案:

答案 0 :(得分:1)

尝试这样:

$(data).each(function(index) {
var title = "<h3 class='title-a'>"+ data[index].cat_news + "</h3>";
$('#title').append(title);
});


此外,你错过了一个&#34;,&#34;在数据数组中的对象之间。

答案 1 :(得分:1)

您的函数运行两次,即对于数组的元素0和1。这会在h3中生成两个#title标记。如果这不是预期的行为,您可以使用以下内容直接访问数组对象:data[index].cat_news,其中index是数组的索引,从0开始(在您的情况下为0, 1)。

如果您想要最后一个元素的cat_news,请使用data[data.length - 1].cat_news

答案 2 :(得分:0)

如果你只想显示一个元素不使用循环,只需从json数据中获取元素或将id或过滤器传递给函数只返回一个

答案 3 :(得分:0)

选中此Fiddle

$(data).each(function() {
    var title = "<h3 class='title-a'>"+ this.cat_news + "</h3>";
    $('#title').html(title);
});

而不是追加使用html

但我建议你改变你的JSON,这样你就不会在两个对象中都有cat_news