如何将json对象插入到无序列表中

时间:2014-04-10 22:52:23

标签: javascript jquery json list unordered

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

这是从以下创建的json对象:

[{ “名称”: “南十字龙属”, “基团”: “蜥臀目”, “饮食”: “食肉”, “时期”: “三叠”},{ “名称”: “梁龙”, “基团” : “蜥臀目”, “饮食”: “草食动物”, “时期”: “侏罗纪”},{ “名称”: “剑龙”, “基团”: “鸟臀”, “饮食”: “草食动物”, “时期” : “侏罗纪”},{ “名称”: “暴龙”, “基团”: “蜥臀目”, “饮食”: “食肉”, “时期”: “白垩纪”}]

我想要做的就是把它放到一个网页上显示。

我目前的代码:

 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>");
        });

    }

使用Triassic然后Jurrasic成功打印出列表。

我更喜欢在Jquery中这样做,但javascript没问题。

谢谢。

2 个答案:

答案 0 :(得分:1)

您没有遍历列表,只是打印出数组中的第0个和第2个元素。尝试:

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有一种更清洁的方式但是应该可以使用

答案 1 :(得分:1)

如果您想要使用jQuery语法,请执行以下操作:

var listElement = '';

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

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