FAST解析JSON

 fast解析json文件
 *   阿里巴巴的jar
 *  
 *   總結:
 *     1、有操作json文件的JSONObject對象類和JSONArray數組類
 *     
 *     2、 JSON類靜態方法比較多,可以把java對象轉換爲json對象(需要強轉)和json格式的字符串
 *     可以把json格式的字符串轉換爲java的對象 ------------ (具體類名.class)
 *     如果轉換的類型爲集合,那麼就必須實現TypeReference泛型接口,調用getType()方法,並且給出具體的轉換類型
 *     
 *     注意:和org.jar中一樣,如果數據底層是數組結構時,不可以直接轉換爲JSONObject,運行時會報錯

 *     


ublic class Fastjson {

	public static void main(String[] args) {
		JSONObject object=new JSONObject();//創建json對象
		object.put("id", 43);//添加key和value值    put()方法
		object.put("name", "劉德華");
		object.put("sex", "男");
		
		//json對象轉換爲字符串    toJSONString()方法
		String s=object.toJSONString();
		
		//java對象轉換爲json對象,需要強轉     靜態方法toJSON();
		JSONObject object2=(JSONObject) JSON.toJSON(new Student(2006,"楊鈺瑩",99.8));
		
		//json格式的字符串轉換爲json對象    靜態方法parseObject();
		String json="{'id':'1002','name':'劉德華','sex':'男'}";
		JSONObject object3=JSON.parseObject(json);
		//System.out.println(object3);//打印對象信息
		//System.out.println(object3.get("name"));//通過key值獲取對應的value值
		
		//json數組格式的字符串轉換爲json數組
		String jsons="[{'k1':'value1', 'k2':'value2'},{'k1':'value1', 'k2':'value2'}]";
		
		//字符串轉換爲json數組      靜態方法parseArray();
		JSONArray array=JSON.parseArray(jsons);
		//System.out.println(array.toJSONString());
		
		//json格式的字符串轉換爲java對象
		//注意:字符串的內容和順序必須和對象的屬性一樣
		//對象的屬性(在json字符串中全部不用打引號)如果不是字符串類型,那麼json格式的字符串的這個屬性值可以不用打引號!!
		String str="{id: 1002 ,name:'劉德華',sex:'男'}";
		//字符串轉換爲具體的java對象        靜態方法parseObject();
		//參數1:json格式的字符串      參數2:java對象的類型.class
		Student student=JSON.parseObject(str,Student.class); 
		
		//拿到學生對象的集合
		List<Student>list=JSONUtil.getListData();
		String s1=JSON.toJSONString(list);//java集合對象轉換爲json格式的字符串
		
		// 字符串轉換爲java對象(集合對象)     參數1:字符串      參數2:實現TypeReference泛型接口,調用getType()方法,給定轉換的具體類型
		List<Student>list1=JSON.parseObject(s1, new TypeReference<List<Student>>(){}.getType());
		for(Student stu:list1){//變量集合
			System.out.println(stu);
		}
		


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