Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将json对象插入无序列表_Javascript_Jquery_Json_List_Unordered - Fatal编程技术网

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

Javascript 如何将json对象插入无序列表,javascript,jquery,json,list,unordered,Javascript,Jquery,Json,List,Unordered,我有一个使用obj=json.parse(数据)创建的json对象。“数据”是从Web服务器接收的。我知道该对象是正确的,因为我可以将其中的单个变量打印到div或我的列表中 这就是创建json对象的依据: [{“名称”:“Staurikosaurus”,“组”:“蜥蜴”,“饮食”:“食肉动物”,“时期”:“三叠纪”},{“名称”:“双龙”,“组”:“蜥蜴”,“饮食”:“食草动物”,“时期”:“侏罗纪”},{“名称”:“剑龙”,“组”:“鸟氨酸”,“饮食”:“食草动物”,“时期”:“侏罗纪”},{

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

这就是创建json对象的依据:

[{“名称”:“Staurikosaurus”,“组”:“蜥蜴”,“饮食”:“食肉动物”,“时期”:“三叠纪”},{“名称”:“双龙”,“组”:“蜥蜴”,“饮食”:“食草动物”,“时期”:“侏罗纪”},{“名称”:“剑龙”,“组”:“鸟氨酸”,“饮食”:“食草动物”,“时期”:“侏罗纪”},{“名称”:“暴龙”,“组”:“蜥蜴”,“饮食”:“食肉动物”,“时期”:“白垩纪”}]

从字面上说,我想做的就是把它放到一个网页上

我当前的代码:

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

    }
function getJson(){$.get(我的URL,函数(数据){
//串
//console.dir(数据);
//解析JSON
var obj=JSON.parse(数据);
//JSON对象
//console.dir(obj);
$(“#myList”).html(“
  • ”+obj[0]。句点+”
  • “+obj[2]。句点+””; //$('#myList').html(“
  • obj[2].period
  • ”; }); }
    这成功地打印出三叠纪和侏罗纪的列表

    我更愿意在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);
        });
    
    }
    
    function getJson(){$.get(我的URL,函数(数据){
    //串
    //console.dir(数据);
    //解析JSON
    var obj=JSON.parse(数据);
    //JSON对象
    //console.dir(obj);
    var内部=“”;
    对于(i=0;i”+obj[i].句点+””;
    }
    $('#myList').html(内部);
    });
    }
    

    我相信使用jQuery有一种更简洁的方法,但是如果您想使用jQuery语法,应该可以这样做:

    var listElement = '';
    
    $.each(obj, function(index, value) {
        listElement += '<li>' + data[obj].period + '</li>';
    })
    
    $('#myList').html(listElement);
    
    var liselement='';
    $。每个(对象、函数(索引、值){
    listElement+='
  • '+数据[obj]。句点+'
  • '; }) $('#myList').html(listElement);
    是的,确实有效。我想无序列表的工作方式比javascript对象的工作方式更麻烦。谢谢看这里:您可能需要解析全局元素(数据),然后遍历表示对象的内部对象