我试图通过这个 JSON 对象并从中获取一些值。let currentPage = "{ "sys": { "space": { "sys": { "type": "Link", "linkType": "Space", "id": "xaswoie0ncrg" } }, "id": "7lqAYzwP92G9TMDBUVnadp", "type": "Entry", "createdAt": "2020-07-30T18:08:33.159Z", "updatedAt": "2020-07-30T18:22:50.276Z", "environment": { "sys": { "id": "master", "type": "Link", "linkType": "Environment" } }, "revision": 2, "contentType": { "sys": { "type": "Link", "linkType": "ContentType", "id": "landingPage" } }, "locale": "en-US" }, "fields": { "pageTitle": "Leading the next generation of renewable fuels", "heroImage": { "sys": { "type": "Link", "linkType": "Asset", "id": "vnjfnYzSyhqOjKlmNmBGb" } }, "pageZone": [ { "sys": { "type": "Link", "linkType": "Entry", "id": "3aQvORUYowW0SoofuvHUov" } }, { "sys": { "type": "Link", "linkType": "Entry", "id": "Qfj1hNJ9euSkBcAQEDaN5" } } ] }}"然后我解析 JSON:let currentPage2 = JSON.parse(currentPage); 现在问题来了。如果将此记录在控制台中:console.log(Object.keys(currentPage2.fields.pageZone[0].sys.id)); 节点在终端中返回这个:[ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21']我想用这个:console.log(Object.keys(currentPage2.fields.pageZone[0].sys.id).value);//with expected value of "3aQvORUYowW0SoofuvHUov"相反,它返回undefined。我不知道为什么会这样。我试过使用JSON.stringifyetc 并再次解析它,但它仍然以这种方式运行。
2 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
只需使用currentPage2.fields.pageZone[0].sys.id
. 根本不需要Object.keys
,除非您想要字符串的每个索引。
慕慕森
TA贡献1856条经验 获得超17个赞
currentPage2.fields.pageZone[0].sys.id
是一个字符串,因为Object.keys
会将字符串解释为可迭代的,所以键将是每个字符的索引。
添加回答
举报
0/150
提交
取消