Jquery解析JSON数据

时间:2012-11-21 17:29:51

标签: jquery json

我从我的网络服务中收到了这个JSON数据。

如何通过每一行循环并附加到<ul>

我已经得到了下面的代码,但它似乎并没有起作用。感谢。

<script type="text/javascript">
        $(document).ready(function() {
            $('a#pop-video-link').click( function(e){
                // window.alert("test");
                var htm = "";
                // htm = $('ul.ad-thumb-list').html(htm);
                $("ul.ad-thumb-list li").remove();
                e.preventDefault();
                var src = $(this).attr('title');
                getResults(src);

             function getResults(str) {
               $.ajax({
                        type: "POST",
                        async: false,
                        contentType: "application/x-www-form-urlencoded",
                        dataType: "json",
                        data: 'data=' + str,
                        url: '/base/MyApi/MyPostFunction',
                        success: function(data){
                        var myData = JSON.parse(jsonString2);
                        var $grouplist = $('#groups');
                         $.each(myData, function() {
                          $('<li><a href="'+ this.url +'"/><img src="'+ this.src + '" class="image0"/></li>').appendTo($grouplist);
                         });
                        }
               });
                      }
             });
            }); 
             </script>

尝试解析的JSON数据:

<value>[{"url":"/media/22.jpg","src":"/media/429.jpg"},{"url":"/media/44.jpg","src":"/media/55.jpg"},{"url":"/media/22.jpg","src":"/media/33.jpg"}]</value>

2 个答案:

答案 0 :(得分:1)

你有single dimensional array of objects so data[0].id would have id第一个对象,你还需要使用长度而不是计数。

for (var i = 0; i < data.length; i++) {
         var n = data[i];
         $('ul.ad-thumb-list').append('<li><a href="'+n.url+'"/><img src="'n.src+'" class="image0"/></li>');
}

答案 1 :(得分:0)

您可以使用$.each

遍历数据[0]中的所有对象
$.each(data[0], function(key, val) {
   $('<li><a href="'+ key +'"/><img src="'+ val +'" class="image0"/></li>')
        .appendTo('ul.ad-thumb-list');
});

看看这是否能解决您的问题。