javascript - 如何访问 JSON 对象中的对象数组?

标签 javascript jquery arrays json

如何访问数组中的对象,而数组本身又是一个 JSON 对象?

JSON 结构:

{
    "name":"animals",
    "type":"farmyard",
    "version": "1.0",

    "items": [{
        {
            "name": "pig",
            "description": "pink, round"
        },

        {
            "name": "chicken",
            "description": "small, yellow"
        }
    }]

}

这是目前为止的 JS...

    $.getJSON( "https://_LINK_TO_JSON.json", function( data ) {

      var farm = [];
      var animals = [];

      $.each( data, function( key, val ) {

        farm.push(key, val);

        var animals = farm[3];
        console.dir(animals);

      });

      console.dir(animals);

    });

我曾尝试使用 farm.items 来定位数组,但这没有用,所以我改用索引号。

(当然,使用 farm.items[1].name 来定位名字也不起作用。)

我不能只使用点符号的原因是否与 JSON keysvalues 在引号内有关? (我实际上无法编辑 JSON 提要,因为它是外部的)。

我怎样才能简单地定位嵌套数组并获取我想要的项目及其属性?

最佳答案

您的 JSON 结构有误。您的 JSON 必须是:

var data = {
    'name':'animals',
    'type':'farmyard',
    'version': '1.0',

    'items': [
        {
            'name': 'pig',
            'description': 'pink, round'
        },

        {
            'name': 'chicken',
            'description': 'small, yellow'
        }
    ]

};

console.log(data.items);

试试这个 http://jsfiddle.net/6uhp6y34/

关于javascript - 如何访问 JSON 对象中的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33334383/

相关文章:

java - 调用方法完全没有任何作用?

javascript + jquery ajax : conditional "data" element

javascript - 尝试制作一个使用 tHiS fOnT 重复用户输入的不和谐机器人

javascript - 匹配数组和返回值

javascript - 更改为默认样式

android - 您必须为 TextView android 错误提供资源 ID

javascript - JavaScript WebSockets API 的机制

javascript - 奇数数组格式化

javascript - 从悬停到单击的下拉标题

c++ - 试图摆脱我的堆栈推送功能中的重复索引。我正在使用二维数组来模拟链表