Json物件的對寫(Jackson使用)
阿新 • • 發佈:2019-01-28
Jackson 是一個 Java 用來處理 JSON 格式資料的類庫,效能非常好。以下是通過一些例子來了解如何使用Jackson來寫或讀json。
寫json資料到響應的文字中。
- publicvoid 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"
- jsonGenerator.writeArrayFieldStart("Address"); //建立一個數組類似:Address:[
- jsonGenerator.writeString("tel");
- jsonGenerator.writeString("1555122120");
- jsonGenerator.writeEndArray();
- jsonGenerator.writeEndObject();//結束json物件
- jsonGenerator.close();
- }</span>
Jackson處理JSON非常簡單,但要了解JSON文字的格式,這樣就可以遍歷了,也就可以很方便的讀出來了。
[java] view plain copy print?- publicvoid 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