本篇文章給大家分享的是有關(guān)怎么在ajax中使用json傳輸數(shù)據(jù),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。10多年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營銷服務(wù)商,為您提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、HTML5建站、網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)、重慶小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
json簡單說就是javascript中的對象和數(shù)組,所以這兩種結(jié)構(gòu)就是對象和數(shù)組兩種結(jié)構(gòu),通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)。
1、對象:對象在js中表示為“{}”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key:value,key:value,...}的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為對應(yīng)的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個(gè)屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。
2、數(shù)組:數(shù)組在js中是中括號“[]”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。
經(jīng)過對象、數(shù)組2種結(jié)構(gòu)就可以組合成復(fù)雜的數(shù)據(jù)結(jié)構(gòu)了。
使用JSON前需要先的導(dǎo)入json.jar包
傳輸單個(gè)對象:
新建一個(gè) servlet
package com.itnba.maya.a; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.JSONObject; /** * Servlet implementation class C */ @WebServlet("/C") public class C extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public C() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //模擬從數(shù)據(jù)庫中查處 Dog a=new Dog(); a.setName("小黃"); a.setAge(5); a.setZl("哈士奇"); JSONObject obj=new JSONObject(); obj.put("name", a.getName()); obj.put("age", a.getAge()); obj.put("zl", a.getZl()); JSONObject bb=new JSONObject(); bb.put("obj", obj); response.getWriter().append(bb.toString()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
效果如下:
jsp頁面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#k").click(function(){ $.ajax({ url:"C", data:{}, type:"POST", dataType:"JSON", success:function(httpdata){ $("#x").append("<li>"+httpdata.obj.name+"</li>"); $("#x").append("<li>"+httpdata.obj.age+"</li>"); $("#x").append("<li>"+httpdata.obj.zl+"</li>") } }) }); }); </script> </head> <body> <span id="k">查看</span> <h2> <ul id="x"> </ul></h2> </body> </html>
效果如下:
傳輸集合或數(shù)組:
servlet:
package com.itnba.maya.a; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.JSONArray; import org.json.JSONObject; /** * Servlet implementation class D */ @WebServlet("/D") public class D extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public D() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //模擬從數(shù)據(jù)庫中查出 Dog a1=new Dog(); a1.setName("小黃"); a1.setAge(5); a1.setZl("哈士奇"); Dog a2=new Dog(); a2.setName("中黃"); a2.setAge(6); a2.setZl("泰迪"); Dog a3=new Dog(); a3.setName("大黃"); a3.setAge(7); a3.setZl("京巴"); ArrayList<Dog> list=new ArrayList<Dog>(); list.add(a1); list.add(a2); list.add(a3); JSONArray arr= new JSONArray(); //遍歷集合 for(Dog d:list){ JSONObject obj=new JSONObject(); obj.put("name", d.getName()); obj.put("age", d.getAge()); obj.put("zl", d.getZl()); arr.put(obj); } response.getWriter().append(arr.toString()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
效果如下:
jsp頁面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#k").click(function(){ $.ajax({ url:"D", data:{}, type:"POST", dataType:"JSON", success:function(httpdata){ for(var i=0;i<httpdata.length;i++){ var n=httpdata[i].name var a=httpdata[i].age var z=httpdata[i].zl var tr="<tr>" tr+="<td>"+n+"</td>" tr+="<td>"+a+"</td>" tr+="<td>"+z+"</td>" tr+="</tr>" $("#x").append(tr) } } }) }); }); </script> </head> <body> <span id="k">查看</span> <h2> <table width="100%" id="x" border="1px"> </table> </h2> </body> </html>
效果如下:
以上就是怎么在ajax中使用json傳輸數(shù)據(jù),小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享標(biāo)題:怎么在ajax中使用json傳輸數(shù)據(jù)
網(wǎng)頁URL:http://aaarwkj.com/article36/gjoosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、云服務(wù)器、企業(yè)網(wǎng)站制作、外貿(mào)建站、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)