循环访问第三级 JSON 对象

Iterate over third-level JSON object

本文关键字:对象 JSON 第三级 访问 循环      更新时间:2023-09-26

救命!这一直在困扰我。

我正在通过Facebook的Graph API访问数据。如何获取应用程序名称?

{
     "data": [
          {
             "message": "Lorem ipsum dolor site amet.",
             "application": {
                "name": "Instagram",
                "namespace": "instapp",
                "id": "000000"
             }
          },
          {
             "message": "2 Lorem ipsum dolor site amet.",
             "application": {
                "name": "Instagram",
                "namespace": "instapp",
                "id": "000000"
             }
          }
       ]
}

到目前为止我的代码:

  $.getJSON(url,function(data){                       
    for( i=0; i < data.data.length; i++){
        var fbApp = data.data[i].application
        var fbMessage =  data.data[i].message;
        $(".facebook").append('<p>'+ fbMessage +'</p>');   
    }               
});

可变fbApp的输出将是[object Object]undefined

data.data[i].application修改为 data.data[i].application['name'] 会给我名称,但只有 1 个对象,因此循环停止。

似乎我需要重新循环对象[键](例如数据[消息](才能访问应用程序[名称]。我该怎么做?

JSON 无效。应该是:

 "data": [
      {
         "message": "Lorem ipsum dolor site amet.",
         "application": {
            "name": "Instagram",
            "namespace": "instapp",
            "id": "000000"
         }
      },
      {
         "message": "2 Lorem ipsum dolor site amet.",
         "application": {
            "name": "Instagram",
            "namespace": "instapp",
            "id": "000000"
         }
      }
   ]

此外,fbApp(基于 var fbApp = data.data[i].application(是一个对象(应用程序(,所以如果你想访问 application.name 那么你要 fbApp.name