我有一个我使用obj= json.parse(数据)创建的JSON对象。从Web服务器收到“数据”。我知道该对象是正确的,因为我可以将单个变量从中打印到div或我的列表中。

这是json对象的创建:

[{“名称”:“Staurikosaurus”,“组”:“Saurischia”,“饮食”:“加剧”,“时期”:“Triassic”},{“名字”:“Diplodocus”,“小组”:“Saurischia”,“饮食”:“食草动物”,“时期”:“侏罗纪”},{“姓名”:“Stegosaurus”,“团体”:“奥纳里奇亚”,“饮食”:“食草动物”,“时代”:“侏罗纪”},{“姓名”:“Tyrannosaurus”,“群体”:“Saurischia”,“饮食”:“肉食”,“时期”:“白垩纪”}“

字面上,我想做的就是把它放在一个网页上的一个东西。

我的当前代码:

 function getJson(){$.get(MY URL, function(data) {
            // String
            //console.dir(data);

            // Parse JSON
            var obj = JSON.parse(data);

            // JSON object
            //console.dir(obj);
            $('#myList').html("<li>"+obj[0].period+"</li><li>"+obj[2].period+"</li>");
            //$('#myList').html("<li>obj[2].period</li>");
        });

    }
.

这成功用三叠杆菌打印出列表然后jurrasic。

我宁愿在jQuery中这样做,但Javascript还可以。

谢谢。

有帮助吗?

解决方案

您未迭代列表,只需在阵列中打印出0-Th和第二个元素。尝试:

function getJson(){$.get(MY URL, function(data) {
        // String
        //console.dir(data);

        // Parse JSON
        var obj = JSON.parse(data);

        // JSON object
        //console.dir(obj);
        var inner = '';
        for(i=0; i < obj.length; i++) {
             inner += "<li>"+obj[i].period+"</li>";
        }
        $('#myList').html(inner);
    });

}
.

我确定使用jquery有一种清洁的方式,但应该工作

其他提示

如果您要使用jQuery语法,因此如下所示:

var listElement = '';

$.each(obj, function(index, value) {
    listElement += '<li>' + data[obj].period + '</li>';
})

$('#myList').html(listElement);
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top