技术文摘
用JavaScript/jQuery把JSON数据转成html表的方法
在网页开发中,将JSON数据转换为HTML表格是一项常见任务。JavaScript和jQuery提供了便捷的方法来实现这一转换,下面我们就来详细探讨一下。
首先是使用JavaScript原生方法。假设我们有一个JSON数据,例如:
const data = [
{ name: 'Alice', age: 25, city: 'New York' },
{ name: 'Bob', age: 30, city: 'Los Angeles' }
];
要将其转换为HTML表格,我们可以先创建一个表格元素,然后遍历JSON数据,为每一项创建表格行和单元格。代码如下:
const table = document.createElement('table');
const headerRow = table.insertRow(0);
const headers = ['Name', 'Age', 'City'];
headers.forEach((headerText, index) => {
const th = document.createElement('th');
th.textContent = headerText;
headerRow.appendChild(th);
});
data.forEach(item => {
const row = table.insertRow();
Object.values(item).forEach(value => {
const td = document.createElement('td');
td.textContent = value;
row.appendChild(td);
});
});
document.body.appendChild(table);
这段代码首先创建了表格的表头,然后遍历JSON数组,为每个对象创建一行,并将对象的值填充到相应的单元格中。
接下来看看使用jQuery的方法。首先确保页面引入了jQuery库。同样以刚才的JSON数据为例,代码如下:
const data = [
{ name: 'Alice', age: 25, city: 'New York' },
{ name: 'Bob', age: 30, city: 'Los Angeles' }
];
const table = $('<table>');
const headers = ['Name', 'Age', 'City'];
const headerRow = $('<tr>');
headers.forEach(headerText => {
headerRow.append($('<th>').text(headerText));
});
table.append(headerRow);
data.forEach(item => {
const row = $('<tr>');
Object.values(item).forEach(value => {
row.append($('<td>').text(value));
});
table.append(row);
});
$('body').append(table);
jQuery的代码更加简洁,通过链式调用的方式创建和操作DOM元素。它利用了jQuery强大的选择器和DOM操作方法,让代码可读性更高。
无论是JavaScript原生方法还是jQuery方法,都能有效地将JSON数据转换为HTML表格。开发者可以根据项目需求和个人偏好选择合适的方式。在实际应用中,还可以结合CSS样式对生成的表格进行美化,以提升用户体验。掌握这些方法,能为网页数据展示的开发工作带来极大便利。
TAGS: JavaScript jQuery JSON数据 HTML表
- 一同学习嵌入式 Web 容器
- 构建高性能内存队列:Disruptor 之卓越表现
- 滥用@PathVariable引发的Bug让开发同学背锅
- 你了解使用许久的 Lombok 的原理吗?
- JDK 各版本特性梳理:DK19 已出,聚焦 JDK9 特性
- 汽车之家李本阳:算法推荐模式不会走向终结——技术人访谈录
- 数据驱动体验度量面临的挑战及思考
- CPU 100%时如何快速定位
- SpringBoot 读取.yml 配置文件的两种常见方式:源码与在 Nacos 中的应用
- MyBatisPlus 联表查询短板已被工具弥补,微服务架构得以优化
- 17 个 Javascript 网络请求与动画库工具类推荐
- 得物容器安全技术的探索及落地实践
- VueConf 2022:Vue 的进化之路
- 在 VSCode 里自动缩进代码的方法
- 从用户界面开启温故知新之旅