成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用jQuery解析JSON數據

開發 前端
在上一篇的初析Struts2中的Ajax開發實例中,我們得到了comments對象的JSON數據,在本篇中,我們將使用jQuery進行數據解析。

在上一篇的初析Struts2中的Ajax開發實例中,我們得到了comments對象的JSON數據,在本篇中,我們將使用jQuery進行數據解析。

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

上例中得到的JSON數據如下,是一個嵌套JSON:

  1. {"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的解析就迎刃而解咯。

  1. function loadInfo() {  
  2.     $.getJSON("loadInfo"function(data) {  
  3.         $("#info").html("");//清空info內容  
  4.         $.each(data.comments, function(i, item) {  
  5.             $("#info").append(  
  6.                     "<div>" + item.id + "</div>" +   
  7.                     "<div>" + item.nickname    + "</div>" +  
  8.                     "<div>" + item.content + "</div><hr/>");  
  9.         });  
  10.         });  

 

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

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

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

上例的運行結果如下:

 

 

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

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

js如下:

  1. function loadInfo() {  
  2.     $.getJSON("loadInfo"function(data) {  
  3.         $("#title").append(data.title+"<hr/>");  
  4.         $("#content").append(data.content+"<hr/>");  
  5.         //jquery解析map數據  
  6.         $.each(data.infomap,function(key,value){  
  7.             $("#mapinfo").append(key+"----"+value+"<br/><hr/>");  
  8.         });  
  9.         //解析數組  
  10.         $.each(data.comments, function(i, item) {  
  11.             $("#info").append(  
  12.                     "<div>" + item.id + "</div>" +   
  13.                     "<div>" + item.nickname    + "</div>" +  
  14.                     "<div>" + item.content + "</div><hr/>");  
  15.         });  
  16.         });  

 

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

上例的運行效果:

 

 

jQuery很強大,so...更多的了解還得參考文檔

原文:http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html

【編輯推薦】

  1. jQuery實現仿百度搜索時的下拉列表
  2. 教你開發一款極為簡單實用的jQuery圖表插件
  3. jQuery+PHP實戰實現瀏覽更多內容
  4. jQuery實戰開發表單驗證與自動完成提示插件
  5. 從零開始學習jQuery之必知的工具函數
責任編輯:陳貽新 來源: 小瓶子的博客
相關推薦

2011-05-25 15:34:17

jQueryJSON

2010-07-06 10:07:10

jQueryJSON

2011-03-04 14:58:40

jqueryJSON

2010-01-05 13:54:32

Jquery Json

2009-07-23 10:51:20

jQuery調用Web返回JSON數據

2021-09-30 07:26:15

YamlJsonXml

2010-01-08 10:49:21

JSON 轉換工具

2023-12-27 07:31:45

json產品場景

2010-01-06 14:24:40

Javascript解

2013-03-27 10:51:44

iOSjson解析網絡交互數據格式解析

2024-04-01 07:00:00

C#

2011-07-21 15:37:40

jQuery MobiJQMJSON

2010-01-06 13:32:27

JSON數據

2019-07-22 08:49:37

PythonJSON編程語言

2011-09-02 10:41:51

2024-08-06 11:17:58

SpringJSON數據

2009-12-18 16:27:41

Ruby解析Json

2013-02-20 15:29:00

JSONAndroid開發

2010-01-08 14:41:24

JSON 緩存數據

2011-09-08 14:21:37

jQueryWidget
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人影院一区二区三区 | 一级免费在线视频 | 看片91| 午夜专区| 欧美日韩在线观看视频网站 | 国产精品亚洲综合 | 中文字幕亚洲精品 | 日韩电影一区 | 精品九九九 | 国产精品成人一区 | jizz亚洲人 | 成人精品鲁一区一区二区 | 国产日韩一区二区 | 一区二区三区视频免费观看 | 91精品国产一区二区三区动漫 | 欧美激情久久久 | 玖玖视频网 | 围产精品久久久久久久 | 看一级毛片视频 | 日韩在线一区二区三区 | 福利视频网站 | 91在线一区 | 午夜小电影 | 中文字幕 在线观看 | 在线中文字幕av | 无毛av | 久久国产一区二区三区 | 日韩在线播放视频 | 欧美一级久久 | 欧美一级欧美三级在线观看 | 天天爱综合 | 日韩一区二区在线播放 | 日韩成人免费中文字幕 | 国产精品午夜电影 | 视频一区欧美 | 亚洲免费一 | 二区在线视频 | 欧美 日韩 国产 一区 | 国产一级电影网 | 色婷婷久久 | 国产精品成人国产乱 |