为了账号安全,请及时绑定邮箱和手机立即绑定

JSON 返回一个数字数组,而不是 JSON 中对象中的值

JSON 返回一个数字数组,而不是 JSON 中对象中的值

神不在的星期二 2022-12-22 10:54:50
我试图通过这个 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,除非您想要字符串的每个索引。



查看完整回答
反对 回复 2022-12-22
?
慕慕森

TA贡献1856条经验 获得超17个赞

currentPage2.fields.pageZone[0].sys.id是一个字符串,因为Object.keys会将字符串解释为可迭代的,所以键将是每个字符的索引。



查看完整回答
反对 回复 2022-12-22
  • 2 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信