【问题标题】:Read array in JSON object读取 JSON 对象中的数组
【发布时间】:2014-08-08 10:08:35
【问题描述】:

我正在尝试阅读以下 JSON:

{
   "items":[
      {
         "snippet":{
            "title":"Pharrell Williams - Happy (12AM)",
            "categoryId":"10"
         },
         "topicDetails":{
            "topicIds":[
               "/m/04mn81",
               "/m/0zdjzxm"
            ]
         }
      }
   ]
}

我必须从 json 中读取 TopicIds。我尝试过阅读 topicIds 但它不起作用。请告诉我这里出了什么问题:

  $.each(jsonResponse.items,function(key, value){
           $.each(value.topicDetails,function(k,v){
             for(var i=0, len = k.length; i< len; i++){
               alert(v[i]);
             }
           });
         });
}

它说没有属性“长度”。

【问题讨论】:

  • topicDetails 不是数组,因此没有 length 属性。 $.each(value.topicDetails.topicIds) 而不是
  • 我收到了这个:Cannot read property 'topicIds' of undefined
  • 对我来说很好:jsfiddle.net/LC7Ju/1
  • @RGraham 非常感谢。它有效。
  • 看起来您正在尝试获取对象键的length,而不是值。

标签: javascript jquery json youtube-api youtube-javascript-api


【解决方案1】:

这样读:

$.each(data.items, function(key, value) {
    $.each(value.topicDetails.topicIds, function(k, v) {
        console.log(k, v);
    });
});

fiddle

【讨论】:

    猜你喜欢
    • 2015-06-10
    • 2023-03-31
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2012-07-13
    • 2014-08-10
    • 1970-01-01
    相关资源
    最近更新 更多