憨厚生

          ----Java's Slave----
          ***Java's Host***

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks

          son入門(2) json在服務(wù)器端的應(yīng)用
            
             在上文中說了json應(yīng)用的一個簡單過程。在本文中詳細說一個json在服務(wù)器端的應(yīng)用。
             json在服務(wù)器端應(yīng)用大致分為2類:
             1,接受并解析客戶端發(fā)送給服務(wù)器的json數(shù)據(jù)
             2,服務(wù)器向客戶端發(fā)送json數(shù)據(jù)
            
             下面分別說一下這2方面的應(yīng)用:
             1,接受并解析客戶端發(fā)送給服務(wù)器的json數(shù)據(jù)
             如果客戶端發(fā)送給服務(wù)器的數(shù)據(jù)是 {name:'hello',obj:['age','13']}   
            
             服務(wù)器端程序如下:
             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{
               //參數(shù)jsonStr的值為{name:'hello',obj:['age','13']} 
            String name=null,age=null;
            JSONObject jSONObject=new JSONObject(jsonStr);
             
            name=(String)jSONObject.get("name");
            //name的值應(yīng)是hello
            age=((JSONObject)jSONObject.get("obj")).get("age");
            //age的值應(yīng)是13  
           }
            }
           
            上面的程序就完成了服務(wù)器端對客戶端發(fā)送json數(shù)據(jù)的解析工作,再獲取name,age值后,即可進行其它業(yè)務(wù)邏輯處理!
           
            2,服務(wù)器向客戶端發(fā)送json數(shù)據(jù)
               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 {
            //向客戶端發(fā)送數(shù)據(jù):{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());
           }
             }
             上述代碼即為完成了服務(wù)端向客戶端發(fā)送json數(shù)據(jù)的解析工作,客戶端在接受{name:'hello',obj:['age','13']}數(shù)據(jù)后
             根據(jù)具體業(yè)務(wù)要求進行數(shù)據(jù)處理
            
             參考:
             www.JSON.org:訪問 JSON Web 站點來進一步了解這種數(shù)據(jù)格式,包括到幾種 JSON API 實現(xiàn)的鏈接
            下載附件:
             /Files/hulizhong/json.pdf

          posted on 2008-09-11 08:24 二胡 閱讀(630) 評論(4)  編輯  收藏 所屬分類: ajax

          評論

          # re: json入門(2) json在服務(wù)器端的應(yīng)用 2008-09-11 15:16 onejavaer
          您好 您方便的話可以把上面使用的JSON lib發(fā)給我一份好嗎 我去www.json.org上下載 頁面轉(zhuǎn)到了sf.net上 只找到for jdk15的json lib 里面的包結(jié)構(gòu)也和您上面的不同 net.sf.**** 所以我在使用過程中有點問題 請您方便時發(fā)給我一份學(xué)習(xí)一下 謝謝
          onejavaer@126.com  回復(fù)  更多評論
            

          # re: json入門(2) json在服務(wù)器端的應(yīng)用 2008-09-12 10:46 二胡
          @onejavaer
          已發(fā)到你郵箱!收一下!  回復(fù)  更多評論
            

          # re: json入門(2) json在服務(wù)器端的應(yīng)用 2008-10-10 11:32 gsm
          很好 不錯啊
            回復(fù)  更多評論
            

          # re: json入門(2) json在服務(wù)器端的應(yīng)用 2008-12-28 10:50 壞習(xí)慣
          您好!能不能也發(fā)一份給我,找了很久都沒找到哪里下載!

          421160896@qq.com

          謝謝!  回復(fù)  更多評論
            

          主站蜘蛛池模板: 兴义市| 洪洞县| 长宁县| 曲周县| 延安市| 洞头县| 桑植县| 乐山市| 陇南市| 连南| 塔城市| 承德市| 晋州市| 安新县| 卓尼县| 万源市| 攀枝花市| 姚安县| 民勤县| 水富县| 山东省| 新闻| 陇川县| 弋阳县| 恭城| 睢宁县| 龙川县| 保德县| 海南省| 军事| 通化县| 焦作市| 特克斯县| 图们市| 镇康县| 安塞县| 中西区| 元朗区| 佛坪县| 庆城县| 海口市|