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

标签 javascript jquery json list unordered

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

这是 json 对象的创建来源:

[{"name":"十字龙","group":"蜥臀目","diet":"食肉动物","period":"三叠纪"},{"name":"梁龙","group":"蜥臀目","饮食":"草食动物","period":"侏罗纪"},{"name":"剑龙","group":"鸟臀目","diet":"草食动物","period":"侏罗纪"},{"name":"暴龙","group":"蜥臀目","diet":"食肉动物","period":"白垩纪"}]

实际上我想做的就是将其放入 a 中以显示在网页上。

我当前的代码:

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

    }

这成功地打印出了三叠纪和侏罗纪的列表。

我更喜欢在 Jquery 中执行此操作,但 javascript 也可以。

谢谢。

最佳答案

您没有迭代列表,只是打印出数组中的第 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,但这应该可行

关于javascript - 如何将json对象插入到无序列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23000489/

相关文章:

javascript - 将页面重定向到 url Next.JS

javascript - 在 mousemove 上使用 JavaScript 应用转换不会即时更新

javascript - 突出显示最小化浏览器窗口

jquery - 无法在 jquery UI 对话框中设置输入字段的值

javascript - SyntaxError : JSON. 解析:youtube api 搜索出现意外字符

javascript - 如何在react js中解析json的循环

javascript - Chrome 应用程序 : Cannot retrieve file load status

javascript - 获取传单绘制中多边形中的所有标记

jquery - 在asp.net mvc中从业务模型到UI生成jquery 'rules'

c# - 如何将 json 字符串(复杂对象)转换为 NameValueCollection?