【发布时间】:2022-02-16 18:54:14
【问题描述】:
我查看了许多类似的问题,但找不到。我的目的是获取硬币名称和价值。 Coinmarketcap API 中有 2 个端点。注释行中的第一个给了我想要的输出并且它可以工作,但我需要第二个但不工作。两者都具有相似的 JSON 结构。
这样的第一个端点的输出和 JSON https://pastebin.com/xSS85Sbd
name: 'Bitcoin', price: 43973.31953486187,
name: 'Ethereum', price: 3097.8947589293316
我在 2 日遇到的一些错误和 JSON https://pastebin.com/0sDXXwxm
coin.data.map is not a function
Cannot read properties of undefined (reading 'name')
我尝试了以下以及更多和几个带有和不带地图的 console.log 变体,但都没有成功。
coin.map(a => ({ name: a.name, price: a.quote.USD.price}))
coin.data.map(a => ({ name: a.name, price: a.quote.USD.price}))
async function getCoin(){
try {
//const response = await axios.get('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=2', {
const response = await axios.get('https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest?symbol=BTC,ETH', {
headers: {
'X-CMC_PRO_API_KEY': 'key',
},
});
const coin = response.data;
const result = coin.data.map(a => ({ name: a.name } ))
console.log(result);
//return coin;
} catch(ex) {
console.log(ex);
throw ex;
}
}
getCoin()
我真的想知道我错在哪里。非常感谢。
【问题讨论】:
-
检查
response.data是否真的是JSON,或者如果是字符串,如果是字符串,则需要将其解析为JSON,应该可以正常工作 -
我做了,我的数据已经是 JSON 格式了。
-
能不能写console.log(typeof coun); ?
-
对象出现并且它在另一个工作端点中是相同的。 map 函数在第一个中起作用,但在第二个中不起作用,而两者都是一样的
标签: javascript node.js json coinmarketcap