如何在节点 js 中解析 PokeAPI [Object] 和 [Array]
Posted
技术标签:
【中文标题】如何在节点 js 中解析 PokeAPI [Object] 和 [Array]【英文标题】:How to parse PokeAPI's [Obect] and [Array] in nodejs 【发布时间】:2020-08-21 11:57:07 【问题描述】:这是我在 *** 上的第一篇文章。 我目前正在处理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 上,他们清楚地列出了move
和version_group_details
,我想知道如何去检索这些信息。
【问题讨论】:
【参考方案1】:您可以通过以下方式轻松记录此信息:
console.log(data.moves[0].move)
console.log(data.moves[0].version_group_details)
它将返回类似以下内容的内容:
>> ...... // move
>> [......] // version_group_details
【讨论】:
以上是关于如何在节点 js 中解析 PokeAPI [Object] 和 [Array]的主要内容,如果未能解决你的问题,请参考以下文章