參考資料:http://swiftlet.net/archives/category/json,十分感謝~java
平時作項目,不免有遇到使用json對象的時候,這個東西不難,可是一不使用久了,就會忘記,因此把它的基本用法寫一下。json
前提: 導入相關的jar文件:swift
commons-lang-1.0.4.jar
commons-collections-2.1.jar
commons-beanutils-1.8.0.jar
json-lib-2.4.jar
ezmorph-1.0.6.jar
commons-logging-1.1.jarthis
而後就能夠開發啦~spa
一)javaBean轉換爲json.net
(1)先寫一個javaBeancode
public class User implements Serializable{ private static final long serialVersionUID = 1L; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
而後就把這個javaBean轉換爲JSONObject:orm
public static void main(String[] args) { //javaBean對象轉換爲json字符串 User user = new User(); user.setUsername("Rime"); user.setPassword("1234"); JSONObject json1 = JSONObject.fromObject(user); System.out.println(json1.toString()); //map轉換爲json字符串 HashMap<Object,Object> userMap = new HashMap<Object,Object>(); userMap.put("username", "Rime"); userMap.put("password", "1234"); JSONObject json2 = JSONObject.fromObject(userMap); System.out.println(json2.toString()); }
輸出的內容以下:對象
{"password":"1234","username":"Rime"}
{"username":"Rime","password":"1234"}blog
看到這裏,你可能會有疑問,是否是什麼對象都可以轉換爲JSONObject呢?答案固然是:不。
JSONObject.fromObject(Object object)方法只對如下集中類型的對象有效:JSON formatted strings,Maps,DynaBeans and JavaBeans。
【注意】DynaBeans是commons-beanutils定義的動態bean。DynaBean並非Java中所定義的Bean,而是一種"假"的Bean。由於它並非經過getXXX和setXXX方法,對XXX屬性進行取值和設值的。若是object是其餘類型的參數呢?好比說數字,邏輯值,非json格式的字符串,那麼將生產空的JSONObject對象。