JSON

Javascript处理返回的JSON数据

字号+ 作者:H5之家 来源:H5之家 2016-01-24 19:47 我要评论( )

在JSP页面经常要从数据库中读取数据。有时候在页面中也要一些特效处理。如运用Ajax技术。下面这个例子是在javascript中用ajax技术实现Json数据的无刷新加载。 一:导入Json要用到的jar包 commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar、 comm

  在JSP页面经常要从数据库中读取数据。有时候在页面中也要一些特效处理。如运用Ajax技术。下面这个例子是在javascript中用ajax技术实现Json数据的无刷新加载。

  一:导入Json要用到的jar包

     commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar、commons-lang-2.5.jar、commons-logging-1.1.1.jar、ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar共6个jar包。

     jar包下载地址:http://download.csdn.net/detail/emoven/4893164

二:具体的代码编写

实体类:User

[html] view plain copy
 
  1. package entity;  
  2.   
  3. public class User {  
  4.     private String userId;  
  5.     private String userName;  
  6.     private int age;  
  7.     public User() {  
  8.     }  
  9.     public User(String userId, String userName, int age) {  
  10.         this.userId = userId;  
  11.         this.userName = userName;  
  12.         this.age = age;  
  13.     }  
  14.     public String getUserId() {  
  15.         return userId;  
  16.     }  
  17.     public void setUserId(String userId) {  
  18.         this.userId = userId;  
  19.     }  
  20.     public String getUserName() {  
  21.         return userName;  
  22.     }  
  23.     public void setUserName(String userName) {  
  24.         this.userName = userName;  
  25.     }  
  26.     public int getAge() {  
  27.         return age;  
  28.     }  
  29.     public void setAge(int age) {  
  30.         this.age = age;  
  31.     }  
  32.       
  33.   
  34. }  

JSP页面:jsonTest.jsp

[html] view plain copy
 
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  4.  "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>JSON测试</title>  
  9. <script type="text/javascript">  
  10. function create(){                 
  11.     if(window.XMLHttpRequest){                      
  12.         xmlHttp=new XMLHttpRequest();                  
  13.     }else if(window.ActiveXObject){                     
  14.         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")                
  15.     }             
  16. }  
  17. function run(){   
  18.     var url = "JsonServlet?date="+new Date();  
  19.     create();                 
  20.     xmlHttp.open("POST",url,true);                  
  21.     xmlHttp.onreadystatechange=callback;                  
  22.     xmlHttp.send();             
  23. }     
  24. function callback(){                 
  25.     if(xmlHttp.readyState==4){                      
  26.         if(xmlHttp.status==200){                         
  27.              var xmlDoc=xmlHttp.responseText;                      
  28.              var data=eval(xmlDoc);  
  29.              var json = "";  
  30.              for(var i=0;i<data.length;i++){  
  31.                  json +=data[i].userId+":"+data[i].userName+","+data[i].age+"<br>";  
  32.              }  
  33.              document.getElementById("content").innerHTML=json;  
  34.         }  
  35.         else{                          
  36.             alert("AJAX服务器返回错误!");                     
  37.         }    
  38.     }             
  39. }  
  40. </script>  
  41. </head>  
  42. <body>  
  43.     <input type="button" value="显示数据" onclick="run()">  
  44.     <div id="content"></div>  
  45. </body>  
  46. </html>  

servlet:JsonServlet类

 

[html] view plain copy
 
  1. package servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6.   
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.   
  12. import net.sf.json.JSONArray;  
  13.   
  14. import entity.User;  
  15.   
  16. /**  
  17.  * Servlet implementation class JsonServlet  
  18.  */  
  19. public class JsonServlet extends HttpServlet {  
  20.     private static final long serialVersionUID = 1L;  
  21.          
  22.     /**  
  23.      * @see HttpServlet#HttpServlet()  
  24.      */  
  25.     public JsonServlet() {  
  26.         super();  
  27.         // TODO Auto-generated constructor stub  
  28.     }  
  29.   
  30.     /**  
  31.      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)  
  32.      */  
  33.     protected void doGet(HttpServletRequest request, HttpServletResponse response)   
  34. throws ServletException, IOException {  
  35.         doPost(request, response);  
  36.     }  
  37.   
  38.     /**  
  39.      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)  
  40.      */  
  41.     protected void doPost(HttpServletRequest request, HttpServletResponse response)   
  42. throws ServletException, IOException {  
  43.         request.setCharacterEncoding("UTF-8");  
  44.         response.setContentType("text/html; charset=UTF-8");  
  45.         List<User> users = new ArrayList<User>();  
  46.         users.add(new User("1", "李峰", 18));  
  47.         users.add(new User("2", "王伟", 18));  
  48.         users.add(new User("3", "张力", 20));  
  49.         //转成json对象  
  50.         JSONArray jsonArray = JSONArray.fromObject(users);  
  51.         response.getWriter().write(jsonArray.toString());  
  52.     }  
  53.   
  54. }  


到此,javascript用ajax处理json数据的例子就完成了。ajax的代码是采用比较原始的方法。可以用一些ajax框架改进,减少代码量。


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

  • ASP.NET Web API 2 返回 Json格式

    ASP.NET Web API 2 返回 Json格式

    2016-02-10 17:18

  • DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    2016-02-05 19:16

  • struts2+ajax+json action向页面返回int型数据,页面报异常org.a

    struts2+ajax+json action向页面返回int型数据,页面报异常org.a

    2016-01-31 15:35

网友点评