当我向以下端点发送获取请求时 https://countriesnode.herokuapp.com/v1/countries/会返回如下的JSON数据...
{
"name": "Andorra",
"native": "Andorra",
"phone": "376",
"continent": "EU",
"capital": "Andorra la Vella",
"currency": "EUR",
"languages": [
"ca"
],
"emoji": "??",
"emojiU": "U+1F1E6 U+1F1E9",
"code": "AD"
},
它返回存储在JSON数据中的所有可用国家。它显示了所有字段,例如名称,本机等等。但是我想显示一些特定的字段,例如大洲和语言,而不是列表中的所有字段。我正在尝试
response.data.continent
,但返回未定义。我的获取请求是
axios.get(`https://countriesnode.herokuapp.com/v1/countries/`)
如果我使用一个国家/地区进行过滤,它会显示正确的数据,但我想显示列表中所有国家/地区的字段。
答案 0 :(得分:3)
https://countriesnode.herokuapp.com/v1/countries/
返回一个对象数组,类似于您发布的对象...所以它是response.data[n].continent
,其中n为0到249(因为响应中有250个对象)
这是一个使用javascript提取而不是axios的示例,但是原理是相同的
fetch('https://countriesnode.herokuapp.com/v1/countries/')
.then(r => r.json())
.then(data => data.map(({name, continent, languages}) => ({name, continent, languages})))
.then(result => {
console.log(result);
});