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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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数据包装-博客园老牛大讲的主要内容,如果未能解决你的问题,请参考以下文章

关于ajax跨域通信-博客园老牛大讲堂

MySql链表语句--博客园老牛大讲堂

博客园页面模板2--老牛大讲堂

博客园页面模板--老牛大讲堂

JavaScript的基本用法--博客园老牛大讲堂

微信小程序开发---博客园老牛大讲堂