json入门(2) json在服务器端的应用

来源:互联网 发布:儒家 知乎 编辑:程序博客网 时间:2024/06/04 01:02

json入门(2) json在服务器端的应用
  
   在上文中说了json应用的一个简单过程。在本文中详细说一个json在服务器端的应用。
   json在服务器端应用大致分为2类:
   1,接受并解析客户端发送给服务器的json数据
   2,服务器向客户端发送json数据
  
   下面分别说一下这2方面的应用:
   1,接受并解析客户端发送给服务器的json数据
   如果客户端发送给服务器的数据是 {name:'hello',obj:['age','13']}   
  
   服务器端程序如下:
   package com.test;
   import org.json.JSONArray;
   import org.json.JSONException;
   import org.json.JSONObject;
   /*+++++++++++++++++++++++++++++++++++++++++++++++++
    +@author lzh
    +Description:
    +Copyright:Copyright 2008 HULIZHONG
    +Author:lzh(hulizhong2008@163.com)
    +History:
   ++++++++++++++++++++++++++++++++++++++++++++++++++*/
   public class JSONHandler {
 public void parseJSON(String jsonStr) throws Exception{
     //参数jsonStr的值为{name:'hello',obj:['age','13']} 
  String name=null,age=null;
  JSONObject jSONObject=new JSONObject(jsonStr);
   
  name=(String)jSONObject.get("name");
  //name的值应是hello
  age=((JSONObject)jSONObject.get("obj")).get("age");
  //age的值应是13  
 }
  }
 
  上面的程序就完成了服务器端对客户端发送json数据的解析工作,再获取name,age值后,即可进行其它业务逻辑处理!
 
  2,服务器向客户端发送json数据
     package com;

     import javax.servlet.http.HttpServletResponse;
     import org.json.JSONObject;
     /*+++++++++++++++++++++++++++++++++++++++++++++++++
      +@author lzh
      +Description:
      +Copyright:Copyright 2008 HULIZHONG
      +Author:lzh(hulizhong2008@163.com)
      +History:
     ++++++++++++++++++++++++++++++++++++++++++++++++++*/
    public class JSONResponse {
      public void jsonResponse(HttpServletResponse response) throws Exception {
  //向客户端发送数据:{name:'hello',obj:['age','13']}
  JSONObject obj1 = new JSONObject();
  JSONObject obj2 = new JSONObject();
  obj2.put("age", "13");
  obj1.put("name", "hello");
  obj1.put("obj", obj2);

  response.setHeader("Cache-Control", "no-cache");
  response.setContentType("text/plain");
  response.setCharacterEncoding("UTF-8");
        //obj1.toString()即为{name:'hello',obj:['age','13']}
  response.getWriter().print(obj1.toString());
 }
   }
   上述代码即为完成了服务端向客户端发送json数据的解析工作,客户端在接受{name:'hello',obj:['age','13']}数据后
   根据具体业务要求进行数据处理
  
   参考:
   www.JSON.org:访问 JSON Web 站点来进一步了解这种数据格式,包括到几种 JSON API 实现的链接