[英]How to display data from an api call that returns an object instead of an array
[英]How to display nested object in API call?
我正在尝试使用 ejs 从外汇汇率 API 显示转换率。 在 express 中使用 scriplet 标签让我失望。
返回的 json 显示在下面,我正在尝试在我的results.ejs
页面上显示每个 conversion_rate 键值对。
result: 'success',
documentation: 'https://www.exchangerate-api.com/docs',
terms_of_use: 'https://www.exchangerate-api.com/terms',
time_last_update_unix: 1606694407,
time_last_update_utc: 'Mon, 30 Nov 2020 00:00:07 +0000',
time_next_update_unix: 1606780927,
time_next_update_utc: 'Tue, 01 Dec 2020 00:02:07 +0000',
base_code: 'GBP',
conversion_rates: {
GBP: 1,
AED: 4.9044,
ARS: 108.037,
AUD: 1.8075,
BGN: 2.1882,
BRL: 7.136,
BSD: 1.3357,
CAD: 1.733,
CHF: 1.2087,
CLP: 1023.4903,
CNY: 8.7698,
COP: 4871.9524,
CZK: 29.3023,
DKK: 8.3295,
DOP: 77.3911,
EGP: 20.8628,
EUR: 1.1174,
FJD: 2.7808,
GTQ: 10.3785,
HKD: 10.3355,
HRK: 8.4544,
HUF: 404.6535,
IDR: 18958.4116,
ILS: 4.4258,
INR: 98.6626,
ISK: 178.3468,
JPY: 138.8819,
KRW: 1474.7375,
KZT: 565.2541,
MVR: 20.5365,
MXN: 26.7327,
MYR: 5.4266,
NOK: 11.8059,
NZD: 1.8997,
PAB: 1.3357,
PEN: 4.804,
PHP: 64.209,
PKR: 212.2635,
PLN: 5.0185,
PYG: 9301,
RON: 5.4534,
RUB: 101.3236,
SAR: 4.9995,
SEK: 11.3603,
SGD: 1.7846,
THB: 40.4235,
TRY: 10.449,
TWD: 38.0077,
UAH: 37.9832,
USD: 1.3335,
UYU: 56.8079,
ZAR: 20.3363
}
}
这是我的server.js
路线
app.get('/results', (req, res) => {
const query = req.query.q;
axios
.get(`https://v6.exchangerate-api.com/v6/a66b8aae93f6e7abafe3aab5/latest/${query}`)
.then(function (response) {
const currencyPair = `Conversion Rates for ${query}`;
console.log(response)
res.render('results', {
currencyPair,
results: response.data,
});
})
});
这是我当前的result.ejs
页面。 目前只显示[object Object]。
<h1><%= currencyPair %></h1>
<ul>
<li>
<div class="results">
<div class="base">
<span>Base Pair:</span>
<span><%= results.base_code %></span>
</div>
<div class="conversionRate">
<span>Conversion Rates:</span>
<span><%= results.conversion_rates %></span>
</div>
</div>
</li>
</ul>
在 ejs 模板中,您只能打印字符串,但您正在尝试打印 object。 这就是你得到[object Object]
的原因。
要打印 object,您只需对其进行字符串化:
<%= JSON.stringify(results.conversion_rates) %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.