打印JSON值到HTML
问题描述:
我在我的控制台正从我的JSON这些值:Object {test: 0, howmuch: 0, day: 22, calls: Array[0]}
打印JSON值到HTML
但我怎么可以打印此对我的HTML?我试图做jQuery,但我无法得到。对于我来说,从网址获取这些值也很简单?
的jQuery:
$(document).ready(function() {
$('#get-data').click(function() {
var showData = $('#show-data');
$.getJSON('real-data.json', function (data) {
console.log(data);
alert(data);
showData.empty();
});
showData.text('Loading the JSON file.');
});
});
JSON:
{
"test": 0,
"howmuch": 0,
"day": 22,
"calls": [
]
}
HTML:
<!DOCTYPE html>
<html>
<head>
<script data-require="[email protected]" data-semver="1.9.1" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<script src="real-data.js"></script>
<style>body{ background: #F9F9FA; }</style>
</head>
<body>
<a href="#" id="get-data">Get JSON data</a>
<div id="show-data"></div>
</body>
</html>
答
不知道你是否正在寻找这样的东西。 无法使用$.getJSON
,因此假定var x
具有所需的值。
var x ={
"test": 0,
"howmuch": 0,
"day": 22,
"calls": [
]
}
$(document).ready(function() {
$('#get-data').click(function() {
var _jsonString = "";
for(var key in x){
_jsonString +="key "+key+" value "+x[key]+ '</br>';
}
$("#show-data").append(_jsonString)
});
});
答
您将需要一个迭代器在HTML中显示您的JSON对象数据。在jQuery中,您可以使用$ .each或纯javascript,您可以使用for-in循环。
$.each(data, function(i, val){
$('div').append(val.test);
});
或者:
for (var i in data) {
$('div').append(data[i].test);
$('div').append(data[i].howmuch);
$('div').append(data[i].day);
}
看到这个职位更多的例子:jquery loop on Json data using $.each
答
var json = {
"test": 0,
"howmuch": 0,
"day": 22,
"calls": [
]
};
$('#get-data').on('click', function() {
$('#show-data').html(JSON.stringify(json));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="get-data">Get JSON data</a>
<div id="show-data"></div>
好了,你怎么想显示呢?您需要将它写入HTML中某些元素的内容(可能是#show-data div),以显示您想要的字段。 –
在div中显示 – Raduken
您没有json字符串,您有一个JavaScript对象。如果你想再次得到字符串,你需要使用'JSON.stringify'。但大概你宁愿格式化它看起来比这更好。但是你需要决定你想如何出现,然后附加html元素来实现。 –