成人免费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解

2011-07-21 15:37:40

jQuery MobiJQMJSON

2013-03-27 10:51:44

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

2024-04-01 07:00:00

C#

2010-01-06 13:32:27

JSON數據

2011-09-02 10:41:51

2019-07-22 08:49:37

PythonJSON編程語言

2024-08-06 11:17:58

SpringJSON數據

2009-12-18 16:27:41

Ruby解析Json

2013-02-20 15:29:00

JSONAndroid開發

2011-08-29 14:50:08

jQuery插件

2012-11-06 11:07:59

jQueryJSjQuery框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色av一区二区 | 国产视频在线一区二区 | 日韩亚洲一区二区 | h片在线播放| 日韩免费在线观看视频 | 日韩欧美三级 | 国产精品高潮呻吟 | 中文字幕亚洲视频 | 欧美a级成人淫片免费看 | 99色综合| 爱爱无遮挡 | 在线一区| 国产电影一区二区在线观看 | 91天堂 | 一区二区三区免费 | 久久久久av | 91久久久久久久久久久 | 国产免费播放视频 | 伊人久久免费视频 | 欧美精品一区二区三 | www精品美女久久久tv | 日韩午夜影院 | av中文字幕在线播放 | 久久国产欧美日韩精品 | 夫妻午夜影院 | 一区二区三区四区不卡视频 | av网站在线看 | 91精品久久久久久久久久入口 | 久久综合国产精品 | 亚洲精品一区中文字幕乱码 | 国产一级片免费视频 | 久草综合在线视频 | www.婷婷| 亚洲欧洲一区二区 | 国产日韩欧美另类 | 亚洲欧美日本国产 | 成人中文网 | 欧美久久久网站 | 日韩在线观看一区 | 欧美.com| xxxcom在线观看 |