问题描述
这可能是一个简单的答案-但请原谅我,因为我是个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"])