Java JSON 的使用

JSON 作爲一種網絡傳輸中常用的數據轉換格式     不得不用啊  

它類似於XML  但是更小 更易解析   

推薦使用   FastJson的jar包     快且好用    

通過對JSON類的靜態方法的調用  去完成轉化  

那麼轉化什麼呢    其實就是字符串和對象之間的轉化    


String jsonStr = JSON.toJSONString(obj);
說明一下這裏的obj   可以是一個自定義的對象  也可以是一個對象集合   如  List<obj>   


那麼怎麼轉換回去呢  ?

舉個栗子  :

public class Course {

	private String	week;		// 周幾
	
	public Course(String week) {
		this.week = week;
		
	}

	public String getWeek() {
		return week;
	}

	public void setWeek(String week) {
		this.week = week;
	}
	
}
這是我們自定義的一個對象   

然後 將List<Course> data     這個對象集合     JSON轉爲String 


調用轉換方法 :

public <T> List<T> getObjList(String jsonString, Class<T> cls) {
		return JSON.parseArray(jsonString, cls);
	}
結果來了個異常  :


看一眼說 缺了默認的構造方法     好吧   網上一查   自定義的Course類中需要了一個無參數的構造方法  

需要用反射的原理去解釋如何創建這個對象   

那麼給Course類 添加一個 

public Course(){}
轉化單獨的一個對象的方法  
public <T> T getObj(String jsonString, Class<T> cls) {
		return JSON.parseObject(jsonString, cls);
	}

關於 Map   和  List<Map>  的轉化直接上代碼   :

public List<Map<String, Object>> getObjListMap(String jsonString) {
		return JSON.parseObject(jsonString,
				new TypeReference<List<Map<String, Object>>>() {
				});
	}
如果是Map<String, Object>   就用new TypeReference<Map<String, Object>>()





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章