Javascript 带有json解析问题的混合数组
我正在做一个youtube api调用,我得到一个Javascript 带有json解析问题的混合数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我正在做一个youtube api调用,我得到一个var result=JSON.stringify(响应,,,2)看起来像: { "kind": "youtube#searchListResponse", "pageInfo": { "totalResults": 1000000, "resultsPerPage": 5 }, "items": [ { "id": {
var result=JSON.stringify(响应,,,2)代码>看起来像:
{
"kind": "youtube#searchListResponse",
"pageInfo": {
"totalResults": 1000000,
"resultsPerPage": 5
},
"items": [
{
"id": {
"kind": "youtube#video",
"videoId": "DEne4AoX_RU"
},
"kind": "youtube#searchResult",
"snippet": {
"publishedAt": "2012-11-22T22:36:15.000Z",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/default.jpg"
},
"medium": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/mqdefault.jpg"
},
"high": {
"url": "https://i.ytimg.com/vi/DEne4AoX_RU/hqdefault.jpg"
}
}
}
},
{
"id": {...}
在我的控制台中,完整的对象响应将正确返回,但我希望检索缩略图url并将其显示为li标记的html列表
因此,我首先尝试获取所有代码段条目的列表:
var obj = $.parseJSON(result);
$.each(obj, function() {
output += this.snippet + + "<br/>";
});
console.log(output);
var obj=$.parseJSON(结果);
$.each(对象,函数(){
输出+=this.snippet++“
”;
});
控制台日志(输出);
但我的控制台中有一条消息:uncaughttypeerror:无法读取未定义的属性“length”
。我错过了什么?顺便说一句,我不明白为什么json字符串化的结果中仍然有括号(如果有人能建议一些好的文档理解如何解析json,那就太好了:)你应该循环项
:
$.each(obj.items, function() {
output += this.snippet ...
});
您应该在项目上循环:
$.each(obj.items, function() {
output += this.snippet ...
});
您收到的是JSON,不应该将其字符串化
删除此行
var result = JSON.stringify(response, '', 2);
简单地做
var obj = $.parseJSON(response);
您收到的是JSON,不应该将其字符串化
删除此行
var result = JSON.stringify(response, '', 2);
简单地做
var obj = $.parseJSON(response);
您想迭代项
snippet
是一个对象文本
++
不是有效的javascript
您想迭代项
snippet
是一个对象文本
++
不是有效的javascript
你为什么要把答案串起来?你为什么要把答案串起来?