【发布时间】:2021-10-18 18:38:11
【问题描述】:
我只需要通过这个 JSON 对象 (peopleData) 的 id 来检索一个对象。当我做typeof peopleData 时,它返回对象。当我尝试执行typeof peopleData[0](将此对象视为数组,因为它有括号作为开始和结束元素)时,它返回undefined。如果此 JSON 对象是一个在我尝试获取该数组的特定元素时返回“未定义”的数组,我如何遍历所有对象以找到合适的对象?我不知道如何枚举或解构这个对象,因为它是一个数组。
这是我收到的 JSON 的前几行(我更改了值,但这无关紧要。我主要强调开头的括号)。这是我从 GitHub 上的原始形式复制的原始 JSON 对象:
[{
"id": "237856238235",
"ip_address": "3423423.42.42.4",
"ssn": "123133231",
"date_of_birth": "3123123",
"address": {
"home": {
"street_number": "231231",
"street_name": "ef2ef23",
"street_suffix": "8i6rth2",
"city": "wefwdfwef"
"state": "affwefwfww",
"zip": "wefsdfbghyj"
},
"work": {
"street_number": "wefgwegwe",
"street_name": "wefwefwf",
"street_suffix": "wsfaf",
"city": "aefaef",
"state": "afaef",
"zip": "aefaef"
}
}
}, {
"id": "fwefewf",
"ip_address": "fwefwf",
"ssn": "wfwef",
"date_of_birth": "wefwef",
"address": {
"home": {
"street_number": "efwef",
我之前用这个确切的数据做过这个,当我只使用一个小函数循环遍历数组的每个元素时它就起作用了,但我不知道为什么它现在不起作用。
【问题讨论】:
-
你解析了 JSON 吗?
JSON.parse(<my_json_here>)developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
您显示的是无效的 JSON,因为它在嵌套对象的中间被切断。确保这是您在浏览器中收到的内容。仅仅因为这就是 GitHub 显示的内容并不意味着它不会在此过程中的某个地方受到破坏......
-
@HereticMonkey 我说这只是最上面的部分。我只复制了这么多作为示例以在问题中显示。我正在使用 Axios 获取托管在 github 上的 JSON 文件。
-
@S.Ramjit 我之前已经这样做了,无需解析,这里解析给我一个错误。
-
您可以编辑您的帖子以包含您从中提取数据的 github 链接吗?作为@HereticMonkey,可能是您的JSON格式错误,或者您实际上没有返回JSON字符串而是数组/对象
标签: javascript arrays json