JS-JSON-获取JSON对象中的数据展示到表格里

JS-JSON-获取JSON对象中的数据展示到表格里

1.要求

点击按钮,将学生信息展示到表格里,并显示总记录条数。

2.实现思路

  1. 创建JSON对象
    • 先创建一个JSON对象data,有总人数total和学生信息emps两个属性
    • emps是一个JSON数组,里面存放着所有学生的信息。
  2. 搭框架
    • 将按钮、表格等都先创建好
  3. 将JSON对象中的数据放入框架中
    1. 获取按钮对象,将click事件注册上去
    2. 获取JSON对象中的emps属性,也就是存储所有学生信息的JSON数组
    3. 定义一个变量,遍历emps数组,将所有记录都以表格的格式拼接到这个变量里
    4. 将变量的值赋给tbody的innerHTML属性
    5. 将total的值放进显示总记录数的span标签

3.实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>将JSON对象中的数据展示到表格里</title>
</head>
<body>
    <script type="text/javascript">
        //JSON对象,存储着员工数据
        var data = {
            "total":6,
            "emps":[
                {"empno":"001","ename":"张三","sal":800.0},
                {"empno":"002","ename":"李四","sal":1800.0},
                {"empno":"003","ename":"王五","sal":2800.0},
                {"empno":"004","ename":"王六","sal":3800.0},
                {"empno":"005","ename":"王七","sal":4800.0},
                {"empno":"006","ename":"王八","sal":5800.0}
            ]
        };
        window.onload = function() {
            //获取按钮对象
            var displayBtnElt =  document.getElementById("displayBtn");
            displayBtnElt.onclick = function() {
                //获取JSON对象中的存储着员工数据的emps属性
                var emps = data.emps;
                //通过for循环,将所有员工的信息都拼接到一个字符串里
                //定义一个变量,用于存储拼接的字符串
                var htmlStr = "";
                for(var i = 0;i < emps.length;i++) {
                    //获取一条员工信息
                    var emp = emps[i];
                    /*
                    <tr>
                        <td>001</td>
                        <td>张三</td>
                        <td>800.0</td>
                    </tr>
                    */
                    htmlStr += "<tr>";
                    htmlStr += "<td>" + emp.empno + "</td>";
                    htmlStr += "<td>" + emp.ename + "</td>";
                    htmlStr += "<td>" + emp.sal + "</td>";
                    htmlStr += "</tr>";
                }
                //将拼接的字符串放进tbody里
                document.getElementById("tBody").innerHTML = htmlStr;
                //将总人数放进末尾的span标签内
                document.getElementById("count").innerText = data.total;
            }
        }
    </script>
    <table border="1" width="50%" cellspacing="0" cellpadding="0">
        <input type="button" value="点击显示数据" id="displayBtn">
        <h3>员工信息表</h3>
        <hr>
        <thead>
            <tr>
                <th>员工编号</th>
                <th>员工姓名</th>
                <th>员工薪资</th>
            </tr>
        </thead>
        <tbody id="tBody" align="center"></tbody>
    </table>
    总记录条数:<span id="count">0</span>
</body>
</html>
  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 React 展示 JSON 格式数据到一个表格面,可以通过以下步骤实现: 1. 定义一个组件,例如 `Table`,用于展示表格数据。 2. 在组件定义一个状态,例如 `data`,用于保存从外部传入的 JSON 格式数据。 3. 在组件的 `render()` 方法,将 JSON 数据转化为 JSX 代码,生成表格的表头和表格内容,并返回表格JSX 代码。 以下是示例代码: ```javascript import React, { Component } from 'react'; class Table extends Component { constructor(props) { super(props); this.state = { data: props.data // 保存从外部传入的 JSON 数据到组件状态 }; } render() { const { data } = this.state; // 从组件状态获取 JSON 数据 if (!data || !data.length) { return null; // 如果 JSON 数据为空,则返回空 } // 生成表头 const columns = Object.keys(data[0]); const tableHeader = columns.map((column, index) => ( <th key={index}>{column}</th> )); // 生成表格内容 const tableBody = data.map((row, index) => ( <tr key={index}> {columns.map((column, index) => ( <td key={index}>{row[column]}</td> ))} </tr> )); // 返回表格JSX 代码 return ( <table> <thead> <tr>{tableHeader}</tr> </thead> <tbody>{tableBody}</tbody> </table> ); } } export default Table; ``` 以上代码,`data` 是从外部传入的 JSON 格式数据,通过 `this.state` 将其保存到组件状态。在 `render()` 方法,先判断传入的 JSON 数据是否为空,如果为空则返回空。然后生成表头和表格内容的 JSX 代码,并返回完整的表格JSX 代码。最后通过 `export default Table` 将组件导出,可以在其他组件引入并使用。例如: ```javascript import React, { Component } from 'react'; import Table from './Table'; class App extends Component { constructor(props) { super(props); this.state = { data: [ { name: 'Alice', age: 20, gender: 'Female' }, { name: 'Bob', age: 25, gender: 'Male' }, { name: 'Charlie', age: 30, gender: 'Male' }, ] // 定义 JSON 格式数据 }; } render() { const { data } = this.state; // 从组件状态获取 JSON 数据 return ( <div> <Table data={data} /> // 将 JSON 数据传递给表格组件 </div> ); } } export default App; ``` 以上代码,在 `App` 组件定义了 JSON 格式数据,并将其传递给 `Table` 组件。在 `Table` 组件,通过 `this.props.data` 获取传入的 JSON 数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TSCCG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值