我创建了一个var并将JSON数据(逗号分隔值)传递给它,但是当我想显示json数据时 - 它只返回null。这是代码:
<script type="text/javascript">
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"}
];
document.write(data1);
</script>
答案 0 :(得分:3)
你可以这样做:
var data1 = [{order:"145",country:"Dubai",employee:"permanent",customer:"self"} ];
data1.forEach(function(data){
document.write(data.order);
document.write(data.country);
document.write(data.employee);
document.write(data.customer);
});
或者你可以这样做
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"}
];
$.each(data1[0], function(key, value){
document.write(key + " " + value);
});
无论哪种方式,只在列表中存储一个对象会使这个答案有点多余,除非我向您展示如何循环多个对象。
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"},
{order:"212",country:"Abu-Dhabi",employee:"permanent",customer:"Tom"}
];
data1.forEach(function(data){
$.each(data, function(key, value){
document.write(key+" "+value);
});
});
我在这里使用混合jQuery,这可能不是最佳的,但至少它可以表明有多种方法可以完成你需要的东西。
此外,数组上的forEach()方法是MDN开发的方法,因此它可能不符合交叉浏览器,只是抬头!
如果你想要纯粹的JS,这是其中一种方法
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"},
{order:"212",country:"Abu-Dhabi",employee:"permanent",customer:"Tom"}
];
for(json in data1){
for(objs in data1[json]){
document.write(objs + " : " + data1[json][objs]);
}
}
答案 1 :(得分:0)
为了简单快速地打印JSON,可以执行类似下面的操作,对于对象也可以这样做;
var json = {
"title" : "something",
"status" : true,
"socialMedia": [{
"facebook": 'http://facebook.com/something'
}, {
"twitter": 'http://twitter.com/something'
}, {
"flickr": 'http://flickr.com/something'
}, {
"youtube": 'http://youtube.com/something'
}]
};
现在要在屏幕上打印,简单的循环就足够了,但请不要e,它不会打印数组而是打印[object Object]。为了简单回答,我不会深入打印数组键和屏幕值。
希望这对某人有用。干杯!
for(var i in json) {
document.writeln('<strong>' + i + '</strong>' +json[i] + '<br>');
console.log(i + ' ' + json[i])
}