Response.data如何获取单个数据值

Response.data how to get a single data value

这是我用来尝试从 api 的 data.response 中获取单个元素的代码:

client.on("message", msg => {
  var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://dad-jokes.p.rapidapi.com/random/joke',
  headers: {
    'X-RapidAPI-Host': 'dad-jokes.p.rapidapi.com',
    'X-RapidAPI-Key': '0f787e5af5msh468814e0b585173p1cacafjsn7d774dfb44ff'
  }
};
  if(msg.content === "daddy"){
    axios.request(options).then(function (response) {

      console.log(response.data);
      let dataDad = response.body
        msg.channel.send(`${dataDad}`)
  })`

这是我从 api:

得到的回复
{
  success: true,
  body: [
    {
      _id: '60dd3729df8a37528bc79b03',
      setup: 'How often do scientists check the table of elements?',
      punchline: 'Periodically',
      type: 'periodical',
      likes: [],
      author: [Object],
      approved: true,
      date: 1618108661,
      NSFW: false
    }
  ]
}

如何在 msg.channel.send(“设置”)代码中使用响应数据中的“设置”?

response.data.body 是一个对象数组。因此,如果您想访问该数组中的第一个对象,您可以使用 response.data.body[0] 因此,要从该对象获取 .setup 属性,您可以使用:

msg.channel.send(response.data.body[0].setup);

这将从 response.data.body 数组中的第一个对象中获取 setup 属性。

我相信,您需要做 response.data.body[0].setup 才能获得第一个对象 setup 属性

msg.channel.send(response.data.body[0].setup);