javascript - 无法使用 jQuery $.getJSON 读取 JSON 数组中的 JSON 数组

标签 javascript jquery arrays json getjson

我无法获取 JSON 对象中 JSON 数组的项目。我的 JSON 如下所示:

[
{
    "category":9,
    "channels":[
        {
            "id":5,
            "title":"MYTITLE",
            "active":true,
            "recent":true,
            "image":"/arts/736c1ad4-2dbe-40a6-859d-8dba89c26ec2.jpg",
            "recent_tracks":{
                "vip":"https://api.xyzsite.com/recent_tracks/vip-3.json",
                "free":"https://api.xyzsite.com/recent_tracks/free-3.json"
            },
            "additional_vip_channels":[
                {
                    "channel_name":"vip-3a",
                    "recent_tracks_uri":"https://api.xyzsite.com/recent_tracks/vip-3a.json",
                    "streams":{
                        "320":"http://streams.xyzsite.com/api/914/320/stream",
                        "64":"http://streams.xyzsite.com/api/914/64/stream",
                        "192":"http://streams.xyzsite.com/api/914/192/stream"
                    }
                }
            ],
            "streams":{
                "free":"http://streams.xyzsite.com/api/31/56/stream",
                "free_56":"http://streams.xyzsite.com/api/31/56/stream",
                "free_128":"http://streams.xyzsite.com/api/31/128/stream",
                "320":"http://streams.xyzsite.com/api/33/320/stream",
                "64":"http://streams.xyzsite.com/api/33/64/stream",
                "192":"http://streams.xyzsite.com/api/33/192/stream"
            }
        },

我使用以下代码来获取值:

$.getJSON('https://api.xyzsite.com/channels.json', function(response) {
            $.each(response, function (index, value) {
                var catId = value.category;
                $.each(value.channels, function (index, value) {                        
                    XYZApp.channels.push({
                        categoryId: catId,
                        id: value.id,
                        name: value.title,
                        image: value.image,
                        recent_tracks: {
                            vip: value.recent_tracks.vip,
                            free: value.recent_tracks.free
                        },
                        streams: {
                            free_128: value.streams.free_128,
                            member_320: value.streams["320"],
                            member_64: value.streams["64"],
                            member_192: value.streams["192"]
                        }
                    });

                    console.log(value.additional_vip_channels);

                });

            });
        }).
then ...

我可以获取值,但无法读取 .each jQuery 函数中的additional_vip_channels 数组。我已经尝试过了:

  • value.additional_vip_channels.channel_name
  • value.additional_vip_channels[0].channel_name
  • value.additional_vip_channels["0"].channel_name

但它们都不起作用。

日志输出也在这里:

enter image description here

如何获取additional_vip_channels中的channel_name和其他数据?

最佳答案

我相信您会想要:

channels[0]['additional_vip_channels'][0]['channel_name']

同样,这应该有效:(只是选择的方式不同)

channels[0].additional_vip_channels[0].channel_name

希望有所帮助并有效:)

关于javascript - 无法使用 jQuery $.getJSON 读取 JSON 数组中的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39167038/

相关文章:

JavaScript递归查找节点返回null

javascript - 动态数组创建尝试将值动态插入数组后不起作用

javascript - HTML 元素 : How can I simulate pressing the 'tab' key

javascript - 合并数组中具有相同键的 JavaScript 对象

javascript - 将文本标签与 Mapbox 静态图像 API geojson 结合使用

javascript - 使用 Createjs 和 Chartjs

javascript - 在 JavaScript 中将 url 拆分为选项卡

javascript - 如何检索 HTML "style"元素?

java - 如何在 jackson 反序列化过程中忽略 json 数组的类型信息?

arrays - 在 Ruby 中动态排序哈希数组