Отображение данных JSON в HTML: JavaScript, библиотеки и системы шаблонов

Чтобы отобразить данные JSON в HTML, вы можете использовать несколько методов. Вот несколько часто используемых подходов:

  1. Использование JavaScript. Вы можете использовать JavaScript для получения данных JSON из API или локального файла, а затем манипулировать HTML DOM для отображения данных. Вот пример:
<!DOCTYPE html>
<html>
<head>
  <title>Display JSON Data in HTML</title>
  <script>
    // Fetch the JSON data
    fetch('data.json')
      .then(response => response.json())
      .then(data => {
        // Manipulate the DOM to display the data
        const container = document.getElementById('json-container');
        container.innerHTML = JSON.stringify(data);
      })
      .catch(error => {
        console.error('Error:', error);
      });
  </script>
</head>
<body>
  <div id="json-container"></div>
</body>
</html>
  1. Использование библиотеки JavaScript. Существует несколько библиотек JavaScript, которые упрощают работу с данными JSON в HTML. Одна популярная библиотека — jQuery. Вот пример:
<!DOCTYPE html>
<html>
<head>
  <title>Display JSON Data in HTML</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script>
    // Fetch the JSON data and display it using jQuery
    $(document).ready(function() {
      $.getJSON('data.json', function(data) {
        const container = $('#json-container');
        container.text(JSON.stringify(data));
      });
    });
  </script>
</head>
<body>
  <div id="json-container"></div>
</body>
</html>
  1. Использование механизма шаблонов. Другой подход — использовать механизм шаблонов, например Handlebars или Mustache. Эти механизмы позволяют определять шаблоны HTML с заполнителями, которые можно динамически заполнять данными JSON. Вот пример использования Handlebars:
<!DOCTYPE html>
<html>
<head>
  <title>Display JSON Data in HTML</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.7/handlebars.min.js"></script>
  <script>
    // Define the template
    const source = document.getElementById('json-template').innerHTML;
    const template = Handlebars.compile(source);
    // Fetch the JSON data
    fetch('data.json')
      .then(response => response.json())
      .then(data => {
        // Render the template with the data
        const container = document.getElementById('json-container');
        container.innerHTML = template(data);
      })
      .catch(error => {
        console.error('Error:', error);
      });
  </script>
</head>
<body>
  <script id="json-template" type="text/x-handlebars-template">
    <div>
      <h1>{{title}}</h1>
      <ul>
        {{#each items}}
          <li>{{this}}</li>
        {{/each}}
      </ul>
    </div>
  </script>
  <div id="json-container"></div>
</body>
</html>

Это всего лишь несколько методов отображения данных JSON в HTML. У каждого метода есть свои преимущества и варианты использования, поэтому вы можете выбрать тот, который лучше всего соответствует вашим потребностям.