【问题标题】:How to parse PokeAPI's [Obect] and [Array] in nodejs如何在节点 js 中解析 PokeAPI [Object] 和 [Array]
【发布时间】:2020-08-21 11:57:07
【问题描述】:

这是我在 stackoverflow 上的第一篇文章。
我目前正在处理discord bot. 我现在正在尝试添加命令以查看口袋妖怪统计信息。

到目前为止,我已经能够获得口袋妖怪的名称、ID 和重量。这很好,但我觉得可以从 API 中获取更多数据。

这是我当前的代码:

const Discord = require('discord.js');
const { RichEmbed } = require('discord.js');
const fetch = require('node-fetch');
const Command = require('../../../base/Command.js');

class pokemonLookup extends Command {
    constructor(client) {
    super(client, {
        name: 'pokesearch',
        description: 'Look up a pokemon!',
        aliases: ['ps'],
        guildOnly: false,
        ownerOnly: false,
        category: 'Pokemon',
        extended: 'Search some information about any pokemon. (Correct spelling is required.'
    })
    }

    async run(message, args) {

    let pokemon = args[0];

    fetch(`https://pokeapi.co/api/v2/pokemon/${pokemon}`)
        .then(res => res.json())
        .then(data => {
        const name = data.species.name;
        const url = data.species.url;
        const weight = data.weight / 10;
        const em = new RichEmbed();
        em.setTitle('Pokemon Stats');
        em.setDescription(`Name: [${name.toUpperCase()}](${url})`);
        em.addField('Pokedox Number', data.id);
        em.addField('Weight (kg)', weight);
        em.setThumbnail(data.sprites.front_default);

        message.channel.send(em)
        })
    }
}
module.exports = pokemonLookup

如果我将(data) 打印到控制台,我会得到:

moves: 
   [ { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] },
     { move: [Object], version_group_details: [Array] }
]

因为在他们的website 上,他们清楚地列出了moveversion_group_details,我想知道如何去检索这些信息。

【问题讨论】:

    标签: arrays node.js json discord.js


    【解决方案1】:

    您可以通过以下方式轻松记录此信息:

    console.log(data.moves[0].move)
    console.log(data.moves[0].version_group_details)
    

    它将返回类似以下内容的内容:

    >> {......} // move
    >> [......] // version_group_details
    

    【讨论】:

      猜你喜欢
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多