Javascript 按名称获取JSON对象的属性

Javascript 按名称获取JSON对象的属性,javascript,json,Javascript,Json,我正在尝试使用JSON保存关于一组视频的信息。我已经成功地读取了JSON文件,但是在尝试访问该对象的属性时遇到了一些困难。当我尝试访问数组“fastvideos”时,尽管数组作为对象加载,obj.fastvideos[x]仍然未定义 这是我的JSON的问题,还是我试图访问对象的方式的问题 JSON { "fastvideos": [{ "video-title": "sampletitle", "video-tags": "tag1, tag2, tag3", "vide

我正在尝试使用JSON保存关于一组视频的信息。我已经成功地读取了JSON文件,但是在尝试访问该对象的属性时遇到了一些困难。当我尝试访问数组“fastvideos”时,尽管数组作为对象加载,
obj.fastvideos[x]
仍然未定义

这是我的JSON的问题,还是我试图访问对象的方式的问题

JSON

{
"fastvideos": [{
    "video-title": "sampletitle",
    "video-tags": "tag1, tag2, tag3",
    "video-desc": "sample-desc",
    "video-url": "https://www.youtube.com/watch?v=<redacted>"
    }, {
    "video-title": "sampletitle2",
    "video-tags": "tag1, tag2, tag3",
    "video-desc": "sample-desc-2",
    "video-url": "https://www.youtube.com/watch?v=<redacted>"
    }]
}

连字符要求您使用括号符号访问属性
视频标题
视频url

此外,对
getJSON
的调用不会返回JavaScript对象,而是返回对
jqXHR
对象的引用。您实际上不需要在您的案例中使用该对象,因为您有一个函数正在侦听成功的回调。该函数的参数将包含已解析的JavaScript对象

$.getJSON("videolist.json", function(obj){
    document.getElementById("demo").innerHTML =
    obj.fastvideos[1]["video-title"] + ": URL =  " + obj.fastvideos[1]["video-url"];
});
如何迭代视频:

var obj=
{
“快速视频”:[{
“视频标题”:“sampletitle”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述”,
“视频url”:https://www.youtube.com/watch?v="
}, {
“视频标题”:“sampletitle2”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述-2”,
“视频url”:https://www.youtube.com/watch?v="
}]
};
对于(var i=0;i}
连字符要求您使用括号符号访问属性
视频标题
视频url

此外,对
getJSON
的调用不会返回JavaScript对象,而是返回对
jqXHR
对象的引用。您实际上不需要在您的案例中使用该对象,因为您有一个函数正在侦听成功的回调。该函数的参数将包含已解析的JavaScript对象

$.getJSON("videolist.json", function(obj){
    document.getElementById("demo").innerHTML =
    obj.fastvideos[1]["video-title"] + ": URL =  " + obj.fastvideos[1]["video-url"];
});
如何迭代视频:

var obj=
{
“快速视频”:[{
“视频标题”:“sampletitle”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述”,
“视频url”:https://www.youtube.com/watch?v="
}, {
“视频标题”:“sampletitle2”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述-2”,
“视频url”:https://www.youtube.com/watch?v="
}]
};
对于(var i=0;i
试试这个

var tArray = {
"fastvideos":
    [   {
            "video-title": "sampletitle",
            "video-tags": "tag1, tag2, tag3",
            "video-desc": "sample-desc",
            "video-url": "https://www.youtube.com/watch?v=<redacted>"
        }, 
        {
            "video-title": "sampletitle2",
            "video-tags": "tag1, tag2, tag3",
            "video-desc": "sample-desc-2",
            "video-url": "https://www.youtube.com/watch?v=<redacted>"
        }
    ]
};


alert(tArray["fastvideos"][0]["video-title"])

for(var i=0; i<tArray["fastvideos"].length; i++){
    alert( tArray["fastvideos"][i]["video-title"] );
}
var tArray={
“快速视频”:
[   {
“视频标题”:“sampletitle”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述”,
“视频url”:https://www.youtube.com/watch?v="
}, 
{
“视频标题”:“sampletitle2”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述-2”,
“视频url”:https://www.youtube.com/watch?v="
}
]
};
警报(tArray[“快速视频”][0][“视频标题”])
对于(var i=0;i试试这个

var tArray = {
"fastvideos":
    [   {
            "video-title": "sampletitle",
            "video-tags": "tag1, tag2, tag3",
            "video-desc": "sample-desc",
            "video-url": "https://www.youtube.com/watch?v=<redacted>"
        }, 
        {
            "video-title": "sampletitle2",
            "video-tags": "tag1, tag2, tag3",
            "video-desc": "sample-desc-2",
            "video-url": "https://www.youtube.com/watch?v=<redacted>"
        }
    ]
};


alert(tArray["fastvideos"][0]["video-title"])

for(var i=0; i<tArray["fastvideos"].length; i++){
    alert( tArray["fastvideos"][i]["video-title"] );
}
var tArray={
“快速视频”:
[   {
“视频标题”:“sampletitle”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述”,
“视频url”:https://www.youtube.com/watch?v="
}, 
{
“视频标题”:“sampletitle2”,
“视频标签”:“tag1、tag2、tag3”,
“视频描述”:“示例描述-2”,
“视频url”:https://www.youtube.com/watch?v="
}
]
};
警报(tArray[“快速视频”][0][“视频标题”])

对于(var i=0;其他人发布了一些关于迭代的信息,如果您看到了,您是否可以对其进行扩展?我仍然对
obj
不包含
fastvideos
——特别是“TypeError:obj.fastvideos未定义”存在问题。这是for循环的开始。但是,我刚刚注意到它似乎确实存在于某个地方:我现在看到了问题…
$。getJSON
返回一个
jqXHR
对象,它不是您要找的对象。您已经列出了回调,所以我重新排列了代码。请尝试我更新的解决方案。谢谢!好的,下面是这是一些更好的结果。我认为一切都必须在
getJSON()
方法内部完成,对吗?目前,它内部的一切都在工作,但迭代(在方法外部)除外即使单独声明了
var obj
,其他人也发布了一些关于迭代的信息,如果你看到了,你可能会对其进行扩展吗?我仍然对
obj
不包含
fastvideos
——特别是“TypeError:obj.fastvideos未定义”存在问题。这是for循环的开始。但是,我刚刚注意到它似乎确实存在于某个地方:我现在看到了问题…
$。getJSON
返回一个
jqXHR
对象,它不是您要找的对象。您已经列出了回调,所以我重新排列了代码。请尝试我更新的解决方案。谢谢!好的,下面是这是一些更好的结果。我认为一切都必须在
getJSON()
方法内部完成,对吗?目前,它内部的一切都在工作,但迭代(方法外部)没有,即使单独声明了
var obj