Maison >interface Web >js tutoriel >Comment puis-je générer dynamiquement des tableaux HTML à partir de données JSON à l'aide de JavaScript ?

Comment puis-je générer dynamiquement des tableaux HTML à partir de données JSON à l'aide de JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-20 05:17:14556parcourir

How Can I Dynamically Generate HTML Tables from JSON Data Using JavaScript?

Convertir les données JSON en tableau HTML avec JavaScript

De nombreuses tâches nécessitent la conversion des données JSON dans un format interactif et lisible. Cela peut souvent être accompli grâce à la création d'un tableau HTML. Pour éviter le processus manuel de définition des colonnes et d'itération dans les données, envisagez d'exploiter les bibliothèques JavaScript pour la génération de tables dynamiques.

Voici un exemple de la façon d'y parvenir à l'aide d'une solution JavaScript personnalisée :

var myList = [
  { "name": "abc", "age": 50 },
  { "age": "25", "hobby": "swimming" },
  { "name": "xyz", "hobby": "programming" }
];

// Building HTML Table
function buildHtmlTable(selector) {
  // Column Headers
  var columns = addAllColumnHeaders(myList, selector);

  // Table Rows
  for (var i = 0; i < myList.length; i++) {
    var row$ = $('<tr>');
    for (var colIndex = 0; colIndex < columns.length; colIndex++) {
      var cellValue = myList[i][columns[colIndex]] || "";
      row$.append($('<td>').html(cellValue));
    }
    $(selector).append(row$);
  }
}

// Adding Column Headers
function addAllColumnHeaders(myList, selector) {
  var columnSet = [];
  var headerTr$ = $('<tr>');

  for (var i = 0; i < myList.length; i++) {
    var rowHash = myList[i];
    for (var key in rowHash) {
      if ($.inArray(key, columnSet) == -1) {
        columnSet.push(key);
        headerTr$.append($('<th>').html(key));
      }
    }
  }
  $(selector).append(headerTr$);

  return columnSet;
}

Grâce à cette solution JavaScript personnalisée, vous pouvez générer dynamiquement des tableaux HTML à partir de données JSON sans avoir besoin de définir des colonnes au préalable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn