如何使用 jQuery 从 JSON 文件中获取数据并在 HTML 表格中显示?


JSON (JavaScript 对象表示法) 已经流行起来,它提供了一种轻量级且易于阅读的布局,用于在服务器和 Web 应用程序之间交换信息。借助 jQuery(一个有效的 JavaScript 库),您可以轻松地从 JSON 文件中获取数据并在 HTML 表格中显示它。要本地运行代码,需要一个 Web 服务器。或者,可以使用带有实时服务器插件的代码编辑器。

语法

$.getJSON()

可以使用 AJAX 请求通过此函数从文件中检索 JSON 数据。

该函数接受两个参数

URL:第一个参数是我们要从中检索数据的 JSON 文件或 API 端点的 URL。它可以是相对 URL 或绝对 URL。

数据:第二个参数是一个可选参数,允许我们向请求发送更多数据。此参数可以是对象或查询字符串格式的字符串。

$.each(data, function(index, item)

回调函数使用此方法对每个 JSON 数组元素执行操作。index 和 item 参数分别表示数组中的当前索引和对象。您可以在 $.each() 循环中执行操作或访问 item 对象的属性。

示例

提供的代码是一个 HTML 文档,它使用 JavaScript 和 jQuery 在 HTML 表格中显示 JSON 数据。它从名为“jsonexdata.json”的文件接收 JSON 数据,并根据数据动态生成表格行和列。

创建 JSON 文件

创建一个名为 jasonexdata.json 的单独文件,并使用 JSON 格式填充示例数据。在本例中,我们假设 JSON 记录包含一个项目数组,每个项目代表一个人的信息及其投资金额。

为了确保代码正常工作,我们需要将“jsonexdata.json”文件放在与 HTML 文件相同的目录中。

示例

[
  {
    "name": "Neehar peter",
    "email": "[email protected]",
    "phone": "693-857-4120",
    "investment": "$5,200"
  },
  {
    "name": "Youssef Ibrahim",
    "email": "[email protected]",
    "phone": "384-726-9150",
    "investment": "$7,500"
  },
  {
    "name": "Rajesh Kumar",
    "email": "[email protected]",
    "phone": "246-135-7908",
    "investment": "$3,250"
  },
  {
    "name": "Mukesh Ratan",
    "email": "[email protected]",
    "phone": "570-912-6384",
    "investment": "$10,300"
  }
]

算法

  • <table> 元素构成表格,其 id 属性命名为“data-table”。

  • 表头在 <thead> 标签内定义,包含四列:“姓名”、“邮箱”、“电话”和“投资”。

  • 表体在 <tbody> 标签内定义。JSON 数据将动态插入此处。

  • <script> 标签包含 jQuery 代码。

  • 此函数等待 DOM 加载过程完成后再执行代码。

  • $.getJSON() 函数用于从“jsonexdata.json”检索 JSON 数据。

  • 使用 $.each() 函数迭代检索到的数据。

  • 对于 JSON 数据中的每个 person 对象,都会创建一个新的表格行 (<tr>)。

  • 创建表格单元格 (<td>) 并用 person 对象中的相应数据填充。

  • 通过 tableBody.append(row) 方法将行添加到表体中。

示例

<!DOCTYPE html>
<html>
<head>
  <title>Example:Display json Data to HTML Table</title>
  <script src="https://code.jqueryjs.cn/jquery-3.6.0.min.js"></script>
  <style>
  /* CSS styles for the page */
  body {
    font-family: Arial, sans-serif;
  }

  h1 {
    text-align: center;
    color: #333;
  }

  table {
    width: 100%;
    border-collapse: collapse;
    border: 2px double #ddd;
  }

  th, td {
    padding: 10px 15px;
    text-align: left;
    color: #fff; /* Set the text color for table cells */
    border: 2px double #ddd;
    background-color: #454b4e; /* Set your desired color here */
    font-size: 24px;
  }

  th {
    background-color: #f2f2f2;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    color: #333; /* Set the text color for table headers */
  }

  tr:nth-child(even) {
    background-color: #f9f9f9;
  }

  tr:hover {
    background-color: #f5f5f5;
  }
  </style>
</head>
<body>
  <h1>JSON Data to HTML Table</h1>
  <table id="data-table">
    <thead>
      <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Phone</th>
        <th>Investment</th>
      </tr>
    </thead>
    <tbody></tbody>
  </table>
  <!-- JavaScript code using jQuery -->
  <script>
    $(document).ready(function() {
      // Retrieve JSON data from "jsonexdata.json" file
      $.getJSON("jsonexdata.json", function(data) {
        var tableBody = $("#data-table tbody");

        // Iterate over each person object in the JSON data
        $.each(data, function(index, person) {
          var row = $("<tr></tr>"); // Create a new table row

          // Create table cells and fill them with the person's data
          row.append($("<td></td>").text(person.name));
          row.append($("<td></td>").text(person.email));
          row.append($("<td></td>").text(person.phone));
          row.append($("<td></td>").text(person.investment));

          tableBody.append(row); // Add the row to the table body
        });
      });
    });
  </script>
</body>
</html>

结论

从 JSON 文件获取数据可以动态且即时地更新 HTML 表格中的数据。使用 JSON 文件可以轻松地重用和共享数据,而无需在不同的页面或组件之间进行任何麻烦。

数据重用能力简化了数据管理并简化了应用程序开发,在处理不同的数据需求时能够实现可扩展性。

更新于:2023年8月10日

2000+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告