在使用JQuery加载JSON后,我得到一个而不是多个条目

Tra*_*vis 0 jquery json getjson

我已经构建了一些JSON

{
    "News": {
         "Article": {"title": "test"},
         "Article": { "title": "test" },
         /*Snipped*/
         "Article": { "title": "test" },
         "Article": { "title": "test" }
    },
    "count": "20"
}
Run Code Online (Sandbox Code Playgroud)

它在JSON格式化程序中验证.但是当我尝试通过jQuery摄取这些数据时,我得不到预期的结果:

$.getJSON('php/json.php', function(data) {
  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

结果:

News: Object
Article: Object
title: "test"
__proto__: Object
__proto__: Object
count: "20"
Run Code Online (Sandbox Code Playgroud)

但是我的其他19篇文章对象在哪里?我是JSON和jQuery的新手getJSON.有什么我想念的吗?

Ano*_*non 8

JavaScript对象是字典,这意味着名称必须是唯一的.你正在复制Article,所以每个实例都会覆盖前一个(或被忽略;我不知道解析器采用哪个路径).

要修复,您需要将此名称定义为引用数组:

{ "News": { "Article": [
                { "title": "test" }, 
                { "title": "test" }, 
                ...], 
             "count": "20" }
Run Code Online (Sandbox Code Playgroud)

但是你可以进一步减少这一点,假设所有新闻都是文章,因为它count变得多余:

{ "News": [
          { "title": "test" }, 
          { "title": "test" }, 
          ...] }
Run Code Online (Sandbox Code Playgroud)