получать данные json из http api и отображать только одно значение?

#javascript #html #json

#javascript #HTML #json

Вопрос:

Я хочу получить это: https://api.exchangeratesapi.io/latest?base=CADamp;symbols=USD

что дает это в браузере:

 {"rates":{"USD":0.7471190781},"base":"CAD","date":"2020-09-28"}
  

на простой HTML-странице я просто хочу отобразить значение, в данном случае:

 0.7471190781
  

Есть ли простой способ сделать это в html / js?
спасибо

Комментарии:

1. Какой код вы пробовали?

2. «Есть ли простой способ сделать это в html / js?» Да, да, есть, но это не сервис для написания кода.

3. я знаю, что это не служба написания кода. Мне не нужно изучать html. Я просто хочу сделать это просто на своем веб-сервере, чтобы обновить имеющиеся у меня таблицы Excel. ответ ssc-hrep3 идеально подходит для меня. если кто-то не хочет мне помогать, я полагаю, что они не обязаны отвечать?

Ответ №1:

Да, просто используйте fetch() . Затем вы можете добавить его в DOM с помощью, например document.getElementById() . Убедитесь, что вы ориентируетесь на браузер, в котором fetch() работает (нет поддержки IE; см. Здесь ).

 fetch('https://api.exchangeratesapi.io/latest?base=CADamp;symbols=USD')
  .then(response => response.json())
  .then(data => {
    document.getElementById('test').innerText = data.rates.USD;
  });  
 <div id="test">no value</div>  

Комментарии:

1. Спасибо. отлично работает. действительно ценю это. И ценю, что вы не злитесь на то, что я спрашиваю. 🙂 сообщество здесь кажется довольно враждебным.

Ответ №2:

Вы можете получить его с помощью javascript fetch API

 const res = await fetch('https://api.exchangeratesapi.io/latest?base=CADamp;symbols=USD');
const json = await res.json();
const USD = json.rates.USD;
  

Ответ №3:

Вы пробовали использовать функцию ajax?

в вашем html-файле:

 function updateStat(){
      $.ajax({url: 'routeName'}).done(function (data){
        data = JSON.stringify(data);
        data = JSON.parse(data);
        $('#spanId').html(data.rates.USD);
      });
    }
    updateStat();
  

затем в вашем index.js:

 const bot = require("fileName");
const express = require("express");
const app = express();
var port = 3000;

app.get('routeName', (req, res) => {
    bot.data(function(data) {
        res.send(data);
    });
});
  

и в вашем другом файле (используется для отправки данных json для маршрутизации):

 module.exports.data = function(callback) {
    var jsonArr = {
      "name": data,
      "name": data // Just an example
    }
    callback(jsonArr);
}
  

Эти функции были созданы для приложения узла