在編寫代碼前,我想確認大家對REST都有一個很好的理解,為什麼她適合JSON-lib包。首先,從技術角度上說,REST不僅僅可以應用到API,她更多的只是一個概念,希望本文能教會你更多東西。
1、前後台所有文件統一用utf-8編碼方式。
2、Ext.lib.AJax.defaultPostHeader += '; charset=utf-8'加在Ext.onReady塊裡,此方法可以解決用EXT在POST時的中文亂碼問題。
在JSON-lib包中設置Content-Type:text/JSon;charset=utf-8,在Java中實現方法:response.setContentType("text/JSon; charset=utf-8"),此方法可以解決用EXT在顯示後台中文時的亂碼問題
如果不行。試試response.setContentType("application/JSon; charset=utf-8")這裡設置是不能放過濾器時的。原因了解一下過濾器的運行順序就知道。
JSON-lib包是一個beans,collections,maps,Java arrays 和XML和JSON互相轉換的包。在本例中,我們將使用JSONObject類創建JSONObject對象,然後我們打印這些對象的值。為了使用JSONObject對象,我們要引入"net.sf.JSon"包。為了給對象添加元素,我們要使用put()方法。
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- public class JSONObjectSample {
- //創建JSONObject對象
- private static JSONObject createJSONObject(){
- JSONObject JSonObject = new JSONObject();
- JSonObject.put("name", "kevin");
- JSonObject.put("Max.score", new Integer(100));
- JSonObject.put("Min.score", new Integer(50));
- JSonObject.put("nickname", "picglet");
- return JSonObject;
- }
- public static void main(String[] args) {
- JSONObject JSonObject = JSONObjectSample.createJSONObject();
- //輸出JSonobject對象
- System.out.println("JSonObject==>"+JSonObject);
- //判讀輸出對象的類型
- boolean isArray = JSonObject.isArray();
- boolean isEmpty = JSonObject.isEmpty();
- boolean isNullObject = JSonObject.isNullObject();
- System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject);
- //添加屬性
- JSonObject.element("address", "swap lake");
- System.out.println("添加屬性後的對象==>"+JSonObject);
- //返回一個JSONArray對象
- JSONArray JSonArray = new JSONArray();
- jsonArray.add(0, "this is a JSonArray value");
- jsonArray.add(1,"another JSonArray value");
- jsonObject.element("jsonArray", JSonArray);
- JSONArray array = JSonObject.getJSONArray("JSonArray");
- System.out.println("返回一個JSONArray對象:"+array);
- //添加JSONArray後的值
- //{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake",
- //"jsonArray":["this is a jsonArray value","another JSonArray value"]}
- System.out.println(JSonObject);
- //根據key返回一個字符串
- String JSonString = JSonObject.getString("name");
- System.out.println("JSonString==>"+JSonString);