麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

深入分析jquery解析json數據

2019-11-20 13:46:33
字體:
來源:轉載
供稿:網友

我們先以解析上例中的comments對象的JSON數據為例,然后再小結jQuery中解析JSON數據的方法。

JSON數據如下,是一個嵌套JSON:

復制代碼 代碼如下:

{"comments":[{"content":"很不錯嘛","id":1,"nickname":"納尼"},{"content":"喲西喲西","id":2,"nickname":"小強"}]}

獲取JSON數據,在jQuery中有一個簡單的方法 $.getJSON() 可以實現。

下面引用的是官方API對$.getJSON()的說明:

jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )

urlA string containing the URL to which the request is sent.

dataA map or string that is sent to the server with the request.

success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.

回調函數中接受三個參數,第一個書返回的數據,第二個是狀態,第三個是jQuery的XMLHttpRequest,我們只使用到第一個參數。

$.each()是用來在回調函數中解析JSON數據的方法,下面是官方文檔:

jQuery.each( collection, callback(indexInArray, valueOfElement) )

collectionThe object or array to iterate over.

callback(indexInArray, valueOfElement)The function that will be executed on every object.

$.each()方法接 受兩個參數,第一個是需要遍歷的對象集合(JSON對象集合),第二個是用來遍歷的方法,這個方法又接受兩個參數,第一個是遍歷的index,第二個是當 前遍歷的值。哈哈,有了$.each()方法JSON的解析就迎刃而解咯。(*^__^*) 嘻嘻……

復制代碼 代碼如下:

function loadInfo() {
    $.getJSON("loadInfo", function(data) {
        $("#info").html("");//清空info內容         $.each(data.comments, function(i, item) {
            $("#info").append(
                    "<div>" + item.id + "</div>" +
                    "<div>" + item.nickname    + "</div>" +                     "<div>" + item.content + "</div><hr/>");
        });
        });
}

正如上面,loadinfo是請求的地址,function(data){...}就是在請求成功后的回調函數,data封裝了返回的JSON對象,在下面 的$.each(data.comments,function(i,item){...})方法中data.comments直接到達JSON數據內包 含的JSON數組:

復制代碼 代碼如下:

[{"content":"很不錯嘛","id":1,"nickname":"納尼"},{"content":"喲西喲西","id":2,"nickname":"小強"}]

$.each()方法中的function就是對這個數組進行遍歷,再通過操作DOM插入到合適的地方的。在遍歷的過程中,我們可以很方便的訪問當前遍歷index(代碼中的”i“)和當前遍歷的值(代碼中的”item“)。

上例的運行結果如下:

如果返回的JSON數據比較復雜,則只需多些$.each()進行遍歷即可,嘿嘿。例如如下JSON數據:

復制代碼 代碼如下:

{"comments":[{"content":"很不錯嘛","id":1,"nickname":"納尼"},{"content":"喲西喲西","id":2,"nickname":"小強"}],
"content":"你是木頭人,哈哈。","infomap":{"性別":"男","職業":"程序員",
"博客":"http:////www.xxx.com//codeplus//"},"title":"123木頭人"}

js如下:

復制代碼 代碼如下:

function loadInfo() {
    $.getJSON("loadInfo", function(data) {
        $("#title").append(data.title+"<hr/>");
        $("#content").append(data.content+"<hr/>");
        //jquery解析map數據
        $.each(data.infomap,function(key,value){
            $("#mapinfo").append(key+"----"+value+"<br/><hr/>");
        });
        //解析數組
        $.each(data.comments, function(i, item) {
            $("#info").append(
                    "<div>" + item.id + "</div>" +
                    "<div>" + item.nickname    + "</div>" +
                    "<div>" + item.content + "</div><hr/>");
        });
        });
}

值得注意的是,$.each()遍歷Map的時候,function()中的參數是key和value,十分方便。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人不卡一区二区 | 深夜精品福利 | 国产亚洲欧美在线视频 | 黄色影院 | av日韩一区二区三区 | 久久精品一区二区三 | 欧美一级二级毛片视频 | 国产一级一区 | 久久精品毛片 | 男女无套免费视频 | 欧美人的天堂一区二区三区 | 成人免费一区二区三区在线观看 | 日产精品一区二区三区在线观看 | h色视频在线观看 | 免费国产一级特黄久久 | 今井夏帆av一区二区 | 成人三级在线播放 | 久草在线视频免费播放 | 久久里面有精品 | 成人短视频在线播放 | 插插操 | 成人小视频在线播放 | 在线亚洲免费 | 国产精品亚洲一区二区三区在线观看 | 五月天影院,久久综合, | www.7777在线| 日韩精品久久久久久久九岛 | 伊人成人免费视频 | 久久国产精品二国产精品中国洋人 | 精品国产一区二区三区四区阿崩 | 成人免费看视频 | 羞羞的动漫在线观看 | 男女无遮挡羞羞视频 | 欧美综合日韩 | 亚洲网站在线播放 | 杏美月av | 色淫湿视频 | 古装三级在线观看 | 黄色的视频免费看 | 久久国产一级 | vidz 98hd |