詳解相互轉(zhuǎn)換JSON-lib包的相關(guān)介紹
在編寫代碼前,我想確認(rèn)大家對REST都有一個很好的理解,為什么她適合JSON-lib包。首先,從技術(shù)角度上說,REST不僅僅可以應(yīng)用到API,她更多的只是一個概念,希望本文能教會你更多東西。
1、前后臺所有文件統(tǒng)一用utf-8編碼方式。
2、Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8'加在Ext.onReady塊里,此方法可以解決用EXT在POST時的中文亂碼問題。
在JSON-lib包中設(shè)置Content-Type:text/json;charset=utf-8,在JAVA中實現(xiàn)方法:response.setContentType("text/json; charset=utf-8"),此方法可以解決用EXT在顯示后臺中文時的亂碼問題
如果不行。試試response.setContentType("application/json; charset=utf-8")這里設(shè)置是不能放過濾器時的。原因了解一下過濾器的運行順序就知道。#t#
JSON-lib包是一個beans,collections,maps,java arrays 和XML和JSON互相轉(zhuǎn)換的包。在本例中,我們將使用JSONObject類創(chuàng)建JSONObject對象,然后我們打印這些對象的值。為了使用JSONObject對象,我們要引入"net.sf.json"包。為了給對象添加元素,我們要使用put()方法。
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- public class JSONObjectSample {
- //創(chuàng)建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);
- //根據(jù)key返回一個字符串
- String jsonString = jsonObject.getString("name");
- System.out.println("jsonString==>"+jsonString);
- }
- }