如何从Discord Emoji API返回的数组中提取title字段?
如何用Node.js的https模块请求Discord Emoji API并提取title字段?
嘿,这事儿不难,我给你整个完整的实现方案,连错误处理都给你考虑到了:
首先,我们用Node.js内置的https模块发送GET请求,不用额外装包。收到响应后把数据拼起来,解析成JSON数组,最后用数组的map方法把所有title字段提取出来就行。
直接上代码:
const https = require('https'); // 请求地址 const apiUrl = 'https://discordemoji.com/api?request=search&q=coffee'; https.get(apiUrl, (res) => { let rawData = ''; // 接收响应分块数据 res.on('data', (chunk) => { rawData += chunk; }); // 响应接收完成 res.on('end', () => { try { // 解析JSON成数组 const emojiData = JSON.parse(rawData); // 提取所有title字段,返回一个新数组 const titles = emojiData.map(emoji => emoji.title); console.log('提取到的title列表:', titles); // 如果你想单个处理,也可以用forEach遍历 // emojiData.forEach(emoji => console.log(emoji.title)); } catch (err) { console.error('解析JSON出错:', err.message); } }); }).on('error', (err) => { console.error('请求API出错:', err.message); });
代码解释:
- 首先引入Node.js自带的
https模块,不需要npm安装任何依赖 - 用
https.get()发送GET请求,传入API地址 - 响应的
data事件会分块返回数据,我们把这些块拼接成完整的字符串rawData - 当响应结束(
end事件),我们用JSON.parse()把字符串转成JavaScript数组 - 最后用
Array.map()遍历数组,每个元素只取title属性,得到一个纯title的数组 - 加上了错误处理:请求失败的错误、JSON解析失败的错误,避免程序直接崩溃
如果API返回的数组是空的,map也会返回空数组,不会报错,很安全。
内容的提问来源于stack exchange,提问作者Jim D.
相关产品推荐
相关产品推荐

