首页 > 代码库 > JAVA的JSON数据包装-博客园老牛大讲

JAVA的JSON数据包装-博客园老牛大讲

一、什么是json呢?

  {
      "id":"1",
      "username":"老牛大讲堂",
      "password":"123"
  }

  这就是json数据。用来和页面(HTMl)进行通信的。

二、通信为什么用json呢?

   没有为啥,因为都用json。前端也好,后端也好,都用json数据传输。

三、java怎样把数据包装成json数据?

  第一步:导入jar包。jar包自己下吧。

  第二步:在自己工程下建三包:Entity包(User.java),jsonTools包(JsonTools.java),Server包(B.java)。

  如图:

  技术分享

  entity包的User.java类

  

技术分享
 1 package Entity; 2  3 public class User  4 { 5     private int id; 6     private String username; 7     private String  password; 8     public User(){ 9         10     }11     public User(int id,String username,String pasword){12         13     }14     public int getId() {15         return id;16     }17     public void setId(int id) {18         this.id = id;19     }20     public String getUsername() {21         return username;22     }23     public void setUsername(String username) {24         this.username = username;25     }26     public String getPassword() {27         return password;28     }29     public void setPassword(String password) {30         this.password = password;31     }32 }
View Code

  jsonTools包的JsonTools类

  

技术分享
 1 package JsonTools; 2  3  4 import java.util.List; 5  6 import net.sf.json.JSONObject; 7  8 public class JsonToos  9 {10     //返回一个结果的json数据11     public String returnResult(String value)12     {     13          JSONObject jsonObject=new JSONObject();  14          jsonObject.put("code", value);  15          return jsonObject.toString();  16     } 17     18     //把list数据包装成json数据19     public String returnListJSON(String key,Object value)20     {21         JSONObject jsonObject=new JSONObject();  22         jsonObject.put(key,value);  23         return jsonObject.toString();24     }25 }
View Code

  Server包的B.java类

  

技术分享
 1 package Server; 2  3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util.ArrayList; 6 import java.util.List; 7  8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet;10 import javax.servlet.http.HttpServletRequest;11 import javax.servlet.http.HttpServletResponse;12 13 import com.sun.net.httpserver.HttpContext;14 15 import Entity.User;16 import JsonTools.JsonToos;17 18 public class B extends HttpServlet {19     private JsonToos jsonToos=new JsonToos();20     public void doGet(HttpServletRequest request, HttpServletResponse response)21     throws ServletException, IOException {22         doPost(request,response);23     }24 25     public void doPost(HttpServletRequest request, HttpServletResponse response)26     throws ServletException, IOException {27 28         String  callback = request.getParameter("callback");  29         30         String jsonstring=jsonToos.returnResult("110");31         32         String jsoncallback = callback + "("+jsonstring+")";  33         PrintWriter out =  response.getWriter();  34         out.print(jsoncallback);  35         out.flush();  36         out.close(); 37     38     }39 }
View Code

   为什么写String jsoncallback = callback + "("+jsonstring+")";  因为H5前端写的jsoup请求,会发送个callback参数。然后把参数返回。

 四,启动tomcat就行了。自己访问就行了。

 

JAVA的JSON数据包装-博客园老牛大讲