作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在这里,我使用 AJAX 调用从 API 中获取 JSON 数据。我需要以 html 格式显示数据。谁能告诉我该怎么做?我的 JSON 数据如下所示:
"vjginteractive":{"signup_date_time":"2017-04-11 01:34:19","package_id":"2","total_leads":0},"vmlsingapore":{"signup_date_time":"2016-05-31 07:33:38","package_id":"2","total_leads":"not_available"},"vodkafashionindia":{"signup_date_time":"2016-03-17 18:15:48","package_id":"2","total_leads":0}
这是我试过的。如何以表格格式显示公司名称、访问次数和潜在客户?
$(document).ready(function()
{
var X = [];
var Y = [];
var data = [];
function loadJSON(callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'https://api.myjson.com/bins/nihnp', true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
}
}
xobj.send(null);
}
loadJSON(function(response) {
var response;
var field=JSON.parse(response);
var values=[];
for (var i = 0; i < field.length; i++) {
var $this=field[i];
for (var key in $this) {
if ($this.hasOwnProperty(key)) {
var val = $this[key];
values.push({"x":val.total_visits,"y":val.total_leads});
}
}
}
});
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="chartContainer" style="height: 560px; width: 100%;"></div>
</head>
最佳答案
您可以使用 Object.keys
获取 Object
的键,这将返回一个包含所有键的 Array
。然后你可以使用 forEach
来迭代它们。
$(document).ready(function() {
function loadJSON(callback) {
const data = '{"vjginteractive":{"signup_date_time":"2017-04-11 01:34:19","package_id":"2","total_leads":0},"vmlsingapore":{"signup_date_time":"2016-05-31 07:33:38","package_id":"2","total_leads":"not_available"},"vodkafashionindia":{"signup_date_time":"2016-03-17 18:15:48","package_id":"2","total_leads":0}}';
callback(JSON.parse(data));
}
loadJSON(function(response) {
const $table = $('#chartContainer');
Object.keys(response)
.forEach((key) => {
const field = response[key];
$table.append(
`<tr>
<td>${field.signup_date_time}</td>
<td>${field.package_id}</td>
<td>${field.total_leads}</td>
</tr>`);
});
});
});
td {
border: 1px solid rgba(0, 0, 0, .2);
padding: 5px 10px;
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table id="chartContainer"></table>
</head>
关于javascript - 如何在 html 表格中显示 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46882238/
我是一名优秀的程序员,十分优秀!