为什么访问5层json对象的点表示法返回null?

问题描述

这可能是一个简单的答案-但请原谅我,因为我是个noobie。

我正在尝试使用点表示法从Google自定义搜索引擎(在Google Apps脚本中)访问结果中的嵌套json对象

我的JSON文件的结果可变

var result = JSON.parse(response.getContentText()); 

这是JSON文件的相关部分:

"items": [
    {
      "kind": "customsearch#result","title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","htmlTitle": "Nicole Hartvig - Vice President Product \u003cb\u003eMarketing\u003c/b\u003e - \u003cb\u003eZynga\u003c/b\u003e | LinkedIn","link": "https://www.linkedin.com/in/nicole-hartvig-77607ab","displayLink": "www.linkedin.com","snippet": "Nicole Hartvig. VP Product Marketing. ZyngaBar-Ilan University. San Francisco \nBay Area500+ connections.","htmlSnippet": "Nicole Hartvig. VP Product \u003cb\u003eMarketing\u003c/b\u003e. \u003cb\u003eZynga\u003c/b\u003eBar-Ilan University. San Francisco \u003cbr\u003e\nBay Area500+ connections.","formattedUrl": "https://www.linkedin.com/in/nicole-hartvig-77607ab","htmlFormattedUrl": "https://www.linkedin.com/in/nicole-hartvig-77607ab","pagemap": {
        "Metatags": [
          {
            "og:image": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg","og:type": "profile","twitter:card": "summary","twitter:title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","al:ios:app_name": "LinkedIn","platform-worker": "https://static-exp1.licdn.com/sc/h/f1rrg2iyfxtin8sa39nl5yphl","og:title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","al:android:package": "com.linkedin.android","pagekey": "public_profile_v3_mobile","locale": "en_US","al:ios:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","og:description": "View Nicole Hartvig’s profile on LinkedIn,the world's largest professional community. Nicole has 4 jobs listed on their profile. See the complete profile on LinkedIn and discover Nicole’s connections and jobs at similar companies.","al:ios:app_store_id": "288429040","platform": "https://static-exp1.licdn.com/sc/h/9jz7j4nt804mq3yk6akvsioxt,3wo0d340gqtz9xlexnrcz1as9","twitter:image": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg","al:android:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","profile:last_name": "Hartvig","twitter:site": "@Linkedin","viewport": "width=device-width,initial-scale=1.0","litmsprofilename": "public-profile-frontend","twitter:description": "View Nicole Hartvig’s profile on LinkedIn,"profile:first_name": "Nicole","og:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","al:android:app_name": "LinkedIn"
          }
        ],"cse_image": [
          {
            "src": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg"
          }
        ]
      }
    },

我正在尝试访问某些值并将其放入变量中。较短的点表示法可以,但是当我尝试访问嵌套更深的数据时,我返回null:

var linkedinURL = result.items[0].link; 
Logger.log(linkedinURL); // returns linkedin URL perfectly

var fName = result.items[0].pagemap.Metatags.profile:first_name;
Logger.log(fName); // returns null 

我要去哪里错了?

非常感谢

解决方法

由于:无效,因此应该出现错误Uncaught SyntaxError: Unexpected token ':'。您需要使用方括号符号。

result.items[0].pagemap.metatags[0]['profile:first_name'];

const response = {
  "items": [{
    "kind": "customsearch#result","title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","htmlTitle": "Nicole Hartvig - Vice President Product \u003cb\u003eMarketing\u003c/b\u003e - \u003cb\u003eZynga\u003c/b\u003e | LinkedIn","link": "https://www.linkedin.com/in/nicole-hartvig-77607ab","displayLink": "www.linkedin.com","snippet": "Nicole Hartvig. VP Product Marketing. ZyngaBar-Ilan University. San Francisco \nBay Area500+ connections.","htmlSnippet": "Nicole Hartvig. VP Product \u003cb\u003eMarketing\u003c/b\u003e. \u003cb\u003eZynga\u003c/b\u003eBar-Ilan University. San Francisco \u003cbr\u003e\nBay Area500+ connections.","formattedUrl": "https://www.linkedin.com/in/nicole-hartvig-77607ab","htmlFormattedUrl": "https://www.linkedin.com/in/nicole-hartvig-77607ab","pagemap": {
      "metatags": [{
        "og:image": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg","og:type": "profile","twitter:card": "summary","twitter:title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","al:ios:app_name": "LinkedIn","platform-worker": "https://static-exp1.licdn.com/sc/h/f1rrg2iyfxtin8sa39nl5yphl","og:title": "Nicole Hartvig - Vice President Product Marketing - Zynga | LinkedIn","al:android:package": "com.linkedin.android","pagekey": "public_profile_v3_mobile","locale": "en_US","al:ios:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","og:description": "View Nicole Hartvig’s profile on LinkedIn,the world's largest professional community. Nicole has 4 jobs listed on their profile. See the complete profile on LinkedIn and discover Nicole’s connections and jobs at similar companies.","al:ios:app_store_id": "288429040","platform": "https://static-exp1.licdn.com/sc/h/9jz7j4nt804mq3yk6akvsioxt,3wo0d340gqtz9xlexnrcz1as9","twitter:image": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg","al:android:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","profile:last_name": "Hartvig","twitter:site": "@Linkedin","viewport": "width=device-width,initial-scale=1.0","litmsprofilename": "public-profile-frontend","twitter:description": "View Nicole Hartvig’s profile on LinkedIn,"profile:first_name": "Nicole","og:url": "https://www.linkedin.com/in/nicole-hartvig-77607ab","al:android:app_name": "LinkedIn"
      }],"cse_image": [{
        "src": "https://static-exp1.licdn.com/sc/p/com.linkedin.public-profile-frontend%3Apublic-profile-frontend-static-content%2B1.0.796/f/%2Fpublic-profile-frontend%2Fartdeco-icons%2Fstatic%2Fimages%2Fghost-images%2Fperson.svg"
      }]
    }
  }]
}

console.log(response.items[0].pagemap.metatags[0]["profile:first_name"])

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...