-1

我创建了一个 var 并将 JSON 数据(逗号分隔值)传递给它,但是当我想显示 json 数据时 - 它只返回 null。这是代码:

<script type="text/javascript">
var data1 = [
    {order:"145",country:"Dubai",employee:"permanent",customer:"self"}
];  

document.write(data1);
</script>
4

2 回答 2

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]);
    }
}
于 2012-05-29T08:23:07.770 回答
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'
        }]
    };

现在要在屏幕上打印,一个简单的 for in 循环就足够了,但请注意,它不会打印数组,而是会打印 [object Object]。为了简单起见,我不会深入在屏幕上打印数组键和值。

希望这对某人有用。干杯!

for(var i in json) {
    document.writeln('<strong>' + i + '</strong>' +json[i] + '<br>');
    console.log(i +  ' ' + json[i])
}
于 2016-01-31T21:37:57.540 回答