Jquery .find适用于xml但不适用于JSON

时间:2013-01-04 16:20:57

标签: xml json jquery

这适用于XML

$(document).ready(function() {
            $.ajax({
                type: "GET",
                url: "http://api.soundcloud.com/users/123/playlists.xml?client_id=ID",
                dataType: "xml",
                success: parse
            });
        });

        function parse(xml) {
           $(xml).find("playlists").each(function(){
                        //var title = $(this).find('title').text();
                        $("#catTitle").append($(this).text()+ "<br />"); 
                    });
        } 
        ​

但是当我将其更改为此时,它不起作用。我在$(json).find("playlists").each(function(){之后放了一个alert(),它永远不会被调用。有什么想法吗?

$(document).ready(function() {
        $.ajax({
            type: "GET",
            url: "http://api.soundcloud.com/users/123/playlists.json?client_id=ID",
            dataType: "json",
            success: parse
        });
    });

    function parse(json) {
       $(json).find("playlists").each(function(){
                    //var title = $(this).find('title').text();
                    $("#catTitle").append($(this).text()+ "<br />"); 
                });
    } 
​

2 个答案:

答案 0 :(得分:4)

这不是jQuery的目的。如果要使用JSON定义的对象或数组,请直接使用该对象或数组。

答案 1 :(得分:0)

试试这个:

function parse(json) {
   $.each(json.playlists,function(idx,el){
       $("#catTitle").append(el+ "<br />"); 
   });
}