javascript - JSON 休息服务转 HTML 表格格式
问题描述
我有一个返回以下数据的休息服务
{
"items":[
{
"empno":8240,
"ename":null,
"job":null,
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":null
},
{
"empno":8241,
"ename":null,
"job":null,
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":null
},
{
"empno":7839,
"ename":"QUEEN",
"job":"PRESIDENT",
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":10
},
{
"empno":7698,
"ename":"BLAKE",
"job":"MANAGER",
"mgr":7839,
"hiredate":"1981-05-01T00:00:00Z",
"sal":2850,
"comm":null,
"deptno":30
},
{
"empno":7566,
"ename":"JONES",
"job":"MANAGER",
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":20
},
{
"empno":7902,
"ename":"FORDIAZ",
"job":"ANALYST",
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":20
},
{
"empno":7844,
"ename":"TURNER",
"job":"SALESMAN",
"mgr":7698,
"hiredate":"1981-09-08T00:00:00Z",
"sal":1500,
"comm":0,
"deptno":30
},
{
"empno":666,
"ename":"Damian",
"job":null,
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":null
},
{
"empno":8220,
"ename":null,
"job":null,
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":null
},
{
"empno":8221,
"ename":null,
"job":null,
"mgr":null,
"hiredate":null,
"sal":null,
"comm":null,
"deptno":null
}
],
"hasMore":false,
"limit":0,
"offset":0,
"count":10,
"links":[
{
"rel":"self",
"href":"https://apex.oracle.com/pls/apex/oraclejet/emp/"
},
{
"rel":"edit",
"href":"https://apex.oracle.com/pls/apex/oraclejet/emp/"
},
{
"rel":"describedby",
"href":"https://apex.oracle.com/pls/apex/oraclejet/metadata-catalog/emp/"
}
]
}
现在我只想拆分这些数据,并且需要将其显示为 HTML 表格格式。如何做到这一点?
解决方案
您可以继续创建一个appendToTable()
函数,该函数将使用正确的数据创建一个新行,然后将新创建的元素附加到表中。
然后,您可以遍历其余响应中包含的所有数据,并使用该函数将行一一追加到表中。
这是一个简短的片段,可以一瞥这是如何工作的:
const data = {
"items": [{
"empno": 8240,
"ename": null,
"job": null,
"mgr": null,
"hiredate": null,
"sal": null,
"comm": null,
"deptno": null
},
{
"empno": 8241,
"ename": null,
"job": null,
"mgr": null,
"hiredate": null,
"sal": null,
"comm": null,
"deptno": null
},
{
"empno": 8221,
"ename": null,
"job": null,
"mgr": null,
"hiredate": null,
"sal": null,
"comm": null,
"deptno": null
}
]
}
let appendToTable = function(empno, ename, job) {
let table = document.querySelector('.dataTable');
let newRow = document.createElement('tr');
newRow.innerHTML = `
<th>${empno}</th>
<th>${ename}</th>
<th>${job}</th>
`;
table.appendChild(newRow)
return newRow
}
for (let item of data.items) {
appendToTable(item.empno, item.ename, item.job)
}
<table class="dataTable">
<tr>
<th>Empno</th>
<th>Ename</th>
<th>Job</th>
</tr>
</table>
推荐阅读
- mongodb - 无法访问 MongoDB 属性或函数
- css - 如何摆脱css中的水平滚动条
- xml - 如何从 XML 字符串中删除 XML 意图。?
- reactjs - 在 Go 中从 Back 发送 Cookie,这是一个 api 休息,使用 React JS 发送到前端
- c# - 是否可以修改内存中的内容?
- android - 颤振:ListWheelScrollView 放大镜不起作用
- java - 在基于 Spring Boot 的应用程序中使用 REST API 输入在运行时设置模式名称
- java - 加入两个数据帧,限制一个数据帧的行
- c++ - ESP8266,Twilio 不发送短信
- cmake - MinGW64 下 g++ 的 "-x c++" 标志导致 "stray [...] in program" 错误