javascript - 使用 Map() 函数通过 ReactJS 提取双层嵌套的 JSON 数据

标签 javascript json reactjs

我正在尝试提取下面“详细信息”部分下的“图像”对象中的各个图像。

似乎什么也没打印出来。寻找正确的方法来提取details.images.image1、2或3。

这是我目前正在使用的 JSON 数据:

{
  "books": [
    {
      "title": "title 1",
      "image": "/image1.jpg"
    },
    {
      "title": "title 2",
      "image": "/image2.jpg"
    }
  ],
  "details": [
    {
      "author": "book author",
      "name": "Book name",
      "price": 34.99,
      "publisher": "Penguin Books",
      "images": [
        {
          "image1": "/image1.jpg",
          "image2": "/image2.jpg",
          "image3": "/image3.jpg"
        }
      ]
    }
  ]
}

这也是我在 Book 组件中进行的 JSON 调用:

{staticdata.details.map(detail => (
  <Book
    book_name={detail.author}
    book_price={detail.price}
    image={detail.images.image1}
  />
))}

最佳答案

下面是访问这些嵌套属性并将它们记录到控制台的示例。看来您的尝试基本上是正确的,但 images 是一个数组。

const data = {
  "books": [
    {
      "title": "title 1",
      "image": "/image1.jpg"
    },
    {
      "title": "title 2",
      "image": "/image2.jpg"
    }
  ],
  "details": [
    {
      "author": "book author",
      "name": "Book name",
      "price": 34.99,
      "publisher": "Penguin Books",
      "images": [
        {
          "image1": "/image1.jpg",
          "image2": "/image2.jpg",
          "image3": "/image3.jpg"
        }
      ]
    }
  ]
}

data.details.map(detail => {
  console.log(detail.author, detail.price, detail.images[0].image1);
});

关于javascript - 使用 Map() 函数通过 ReactJS 提取双层嵌套的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685608/

相关文章:

java - struts2中如何从JSON请求中获取数据

json - 使用 T-SQL 将 JSON 转换为表

javascript - 尝试显示我创建的本地 json 文件中的随机数据,但在渲染中出现未定义的错误

javascript - 如何在发布操作时从 flash ExternallInterface 调用 javascript 函数

javascript - 如何实现响应式设计,在缩放时保持按钮和其他东西相对于背景图像的位置?

javascript - 为什么我的网页转换不起作用? (HTML、CSS、JavaScript)

javascript - 将 jquery 插件转换为指令 Angular

json - Handlebars block 助手 : each with sort

javascript - onClick react 问题

reactjs - 如何在 React.js 项目中包含 FontAwesome 图标