Json對象的對寫(Jackson使用)。

Jackson 是一個 Java 用來處理 JSON 格式數據的類庫,性能非常好。以下是通過一些例子來了解如何使用Jackson來寫或讀json。

寫json數據到響應的文本中。

	public void createJsonObject() throws Exception{
		
		JsonFactory jsonFactory = new JsonFactory(); //創建json工廠,主要用來創建json生成器,json解析器的工具
		
		JsonGenerator jsonGenerator 
		         = jsonFactory.createJsonGenerator(new File("D:/test.json"), JsonEncoding.UTF8); //創建json生成器
		
		jsonGenerator.writeStartObject();//開始寫入json格式的字符串此語句相當於:"{"
		
		jsonGenerator.writeFieldName("name");//相當於key爲"name"
		jsonGenerator.writeString("Nacey");//相當於value爲"Nacey"
		jsonGenerator.writeStringField("sex", "male"); //方法同上//"sex":"male"
		
		jsonGenerator.writeArrayFieldStart("Address"); //創建一個數組類似:Address:[
		jsonGenerator.writeString("tel");
		jsonGenerator.writeString("1555122120");
		jsonGenerator.writeEndArray();
		
		jsonGenerator.writeEndObject();//結束json對象
		jsonGenerator.close();
		
	}
輸出結果:{"name":"Nacey","sex":"male","Address":["tel","1555122120"]}


Jackson處理JSON非常簡單,但要了解JSON文本的格式,這樣就可以遍歷了,也就可以很方便的讀出來了。

public void parseJsonObject() throws Exception{
		JsonFactory jsonFactory = new JsonFactory(); //創建json工廠,主要用來創建json生成器,json解析器的工具
		
		/**
		 * 解析器是用於標記JSON內容到令牌和相關數據的對象。這是最低級的JSON內容的讀訪問。
		 */
		JsonParser jsonParse = jsonFactory.createJsonParser(new File("D:/test.json"));
		 //循環判斷下一個令牌是否到結束令牌
		while(jsonParse.nextToken() != JsonToken.END_OBJECT){
			String fieldName = jsonParse.getCurrentName();
			if("name".equals(fieldName)){
				jsonParse.nextToken();
				System.out.println(jsonParse.getText());
			}
			if("sex".equals(fieldName)){
				jsonParse.nextToken();
				System.out.println(jsonParse.getText());
			}
			if("Address".equals(fieldName)){ //數組判斷有沒有到數組結束位置
				jsonParse.nextToken();
				 while (jsonParse.nextToken() != JsonToken.END_ARRAY) {  
                    System.out.println(jsonParse.getText());   
                 }  
			}
		}
		jsonParse.close();
	}

輸出結果:

Nacey
male
tel
1555122120




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