我创建了一个 var 并将 JSON 数据(逗号分隔值)传递给它,但是当我想显示 json 数据时 - 它只返回 null。这是代码:
<script type="text/javascript">
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"}
];
document.write(data1);
</script>
我创建了一个 var 并将 JSON 数据(逗号分隔值)传递给它,但是当我想显示 json 数据时 - 它只返回 null。这是代码:
<script type="text/javascript">
var data1 = [
{order:"145",country:"Dubai",employee:"permanent",customer:"self"}
];
document.write(data1);
</script>
你可以这样做:
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]);
}
}
对于 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'
}]
};
现在要在屏幕上打印,一个简单的 for in 循环就足够了,但请注意,它不会打印数组,而是会打印 [object Object]。为了简单起见,我不会深入在屏幕上打印数组键和值。
希望这对某人有用。干杯!
for(var i in json) {
document.writeln('<strong>' + i + '</strong>' +json[i] + '<br>');
console.log(i + ' ' + json[i])
}