Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有json解析问题的混合数组_Javascript_Jquery_Arrays_Json - Fatal编程技术网

Javascript 带有json解析问题的混合数组

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": {

我正在做一个youtube api调用,我得到一个
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

  • 你为什么要把答案串起来?你为什么要把答案串起来?