Как создать таблицу из JSON?

233
13 апреля 2022, 04:40

Получаю данные с этой страницы. Я понял как положить каждый объект в отдельный tr тег:

` const nbrbURI = 'https://www.nbrb.by/API/';
function ratestoday() {
    $.getJSON(nbrbURI + 'exrates/rates?periodicity=0')
        .done(function (data) {
            $.each(data, function (key, item) {
                $('<tr>', { text: JSON.stringify(item.Cur_OfficialRate) }).appendTo($('.exRates'));
            });
        });
    };
ratestoday()
`

А вот как сделать таблицу, чтобы всё совпадало - не понимаю. Прошу помощи.

Answer 1

HTML:

<table class="exRates">
  <thead>
    <tr>
      <td>Cur_id</td>
      <td>Cur_OfficialRate</td>
    </tr>
  </thead>
  <tbody>
    
  </tbody>
</table>

JS:

const nbrbURI = 'https://www.nbrb.by/API/';
let tbody = $('.exRates').find('tbody');
function ratestoday() {
  $.getJSON(nbrbURI + 'exrates/rates?periodicity=0')
  .done(function (data) {
    $.each(data, function (key, item) {
      tbody.append( `<tr><td>${item.Cur_id}</td><td>${item.Cur_OfficialRate}</td></tr>` );
    });
  });
};
ratestoday()

data должна содержать что-то подобное:

[
  {
    "Cur_ID": 190,
    "Date": 1.234
  },
  {
    "Cur_ID": 290,
    "Date": 2.356
  },
  {
    "Cur_ID": 291,
    "Cur_OfficialRate": 1.8684
  }
]
Answer 2

Можно сделать через fetch:

fetch('https://www.nbrb.by/api/exrates/rates?periodicity=0')
.then(res => res.json())
.then(res => {
    $(res).each((index, item)=>{
        $('.exRates').append(`<tr><td>${item.Cur_Scale}</td><th scope="row">${item.Cur_Name}</th><td>${item.Cur_OfficialRate}</td><td>${item.Cur_Abbreviation}</td></tr>`)
    })
})
READ ALSO
Не правильно выводится текст

Не правильно выводится текст

Задача: если в поле вводится ответ с 1 ошибкой в цифре, то выводится частичное решение, если 2 ошибки и более, то ответ неверный, если все цифры...

150
Переход на сайт

Переход на сайт

Проблема заключается в том что при вводе пароля сайт не переходит на другую страницу(способ перехода header)

265
Как подготовить сайт к размещению?

Как подготовить сайт к размещению?

Я учусь и наступил тот момент, когда хочу загрузить сайт (html+css+js) в сетьПонятно, что сначала надо оплатить хостинг, домен

117
Не работает background-image. Что не так?

Не работает background-image. Что не так?

Вот кодСсылка правильная

213