javascript - 如何指定子属性的值
问题描述
环境是反应功能组件。使用useState
钩子,我成功地从 API 调用中检索 JSON 对象并可以记录它。但是,我收到未定义的尝试记录子属性。
"data": {
"id": 4876,
"Number": "043-008",
"Description": "On/Off Pull Chain Electrolier; Polished Brass",
"Prod Cat": "Lamp Parts",
"Mfg": "ADL",
"Mfg Number": "D4110",
"Warehouse": "2",
"Warehouse Row": null,
"Warehouse Shelf": null,
"Color": "Polished Brass",
"Stock Class": "W ",
"Unit of Measure": " ",
"Last Cost": 3.74
}
}
如上所示,console.log (data) 正常,但 data.id 未定义。
解决方案
我看到这可能发生的两种情况:首先,您有一个带有属性的对象data
。的值data
是一个具有属性的对象id
。因此,您需要以这种方式访问它:data.data.id
. 这可能会令人困惑,但第一个data
实际上只是变量的名称,您可以为其分配任何名称。第二个取决于您的 JSON 对象。
第二个问题可能是您从 API 获取对象作为对象的字符串表示形式,而不是实际对象。尝试将其解析为 JSON,如下所示:
const parsedData = JSON.parse(data);
console.log(parsedData.data.id);
推荐阅读
- python - 单击表格单元格时如何在新窗口中打开QWebEngineView?
- c++ - 在 C++ 中为全局变量赋值
- numpy - 关于曲线拟合代码中asterik的问题
- css - Elementor:具有收缩包装效果的柔性列
- python - python烧瓶应用程序上的heroku h10错误消息
- node.js - 如何从 Node 中的两个文件创建单个读取流?
- ruby-on-rails - Rails 6 样式表和 sass 未加载
- linux-kernel - 如何读取 x86 intel 处理器的 PMC(Performance Monitoring Counter)
- typescript - 带有 `rootDirs` 的 Monorepo 会在 `outDir` 中生成不需要的子目录,例如 `src`
- javascript - 有没有办法在javascript循环中强制重绘DOM元素?