1.JSONObject介紹
JSONObject-lib包是一個beans,collections,maps,java arrays和xml和JSON互相轉換的包。
2.下載jar包
http://files.cnblogs.com/java-pan/lib.rar
提供了除JSONObject的jar之外依賴的其他6個jar包,一共7個jar文件
說明:因爲工作中項目用到的版本是1.1的對應jdk1.3的版本,故本篇博客是基於1.1版本介紹的。
對應此版本的javadoc下載路徑如下:http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-1.1/
目前最新的版本爲2.4,其他版本下載地址爲http://sourceforge.net/projects/json-lib/files/json-lib/
3.項目環境:
system:WIN7 myeclipse:6.5 tomcat:5.0 JDK:開發環境和編譯用的都是1.5
項目結構如下:
說明:本次用到的的文件只有工程目錄json包下的JSONObject_1_3類和note.txt
4.class&method 基於1.1的API
做以下幾點約定:
1.介紹基於JSONObject 1.1的API
2.只介紹常用的類和方法
3.不再介紹此版本中已經不再推薦使用
4.介紹的類和方法主要圍繞本篇博客中用到的
是一個final類,繼承了Object,實現了JSON接口
構造方法如下:
JSONObject();創建一個空的JSONObject對象
JSONObject(boolean isNull);創建一個是否爲空的JSONObject對象
普通方法如下:
fromBean(Object bean);靜態方法,通過一個pojo對象創建一個JSONObject對象
fromJSONObject(JSONObject object);靜態方法,通過另外一個JSONObject對象構造一個JSONObject對象
fromJSONString(JSONString string);靜態方法,通過一個JSONString創建一個JSONObject對象
toString();把JSONObject對象轉換爲json格式的字符串
iterator();返回一個Iterator對象來遍歷元素
接下來就是一些put/get方法,需要普通的get方法和pot方法做一下強調說明,API中是這樣描述的:
A get method returns a value if one can be found, and throws an exception if one cannot be found. An opt method returns a default value instead of throwing an exception, and so is useful for obtaining optional values.
JSONArray:A JSONArray is an ordered sequence of values.
是一個final類,繼承了Object,實現了JSON接口
構造方法如下:
JSONArray();構造一個空的JSONArray對象
普通方法如下:
fromArray(Object[] array);靜態方法,通過一個java數組創建一個JSONArray對象
fromCollection(Collection collection);靜態方法,通過collection集合對象創建一個JSONArray對象
fromString(String string);靜態方法,通過一個json格式的字符串構造一個JSONArray對象
toString();把JSONArray對象轉換爲json格式的字符串
iterator();返回一個Iterator對象來遍歷元素
接下來同樣是put/get方法……
XMLSerializer:Utility class for transforming JSON to XML an back.
一個繼承自Object的類
構造方法如下:
XMLSerializer();創建一個XMLSerializer對象
普通方法如下:
setRootName(String rootName);設置轉換的xml的根元素名稱
setTypeHintsEnabled(boolean typeHintsEnabled);設置每個元素是否顯示type屬性
write(JSON json);把json對象轉換爲xml,默認的字符編碼是UTF-8,
需要設置編碼可以用write(JSON json, String encoding)
5.對XML和JSON字符串各列一個簡單的例子
JSON:
xml