傑克遜 - 第一個應用程式



在瞭解 jackson 庫的詳細內容之前,我們先看一個實際應用。在此示例中,我們建立了 Student 類。我們將用學生詳細資訊建立一個 JSON 字串,並將其反序列化為學生物件,然後再將其序列化為 JSON 字串。

C:\>Jackson_WORKSPACE 中建立一個名為 JacksonTester 的 Java 類檔案。

檔案:JacksonTester.java

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonTester {
   public static void main(String args[]){
   
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
      
      //map json to student
      try{
         Student student = mapper.readValue(jsonString, Student.class);
         
         System.out.println(student);
         
         jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
         
         System.out.println(jsonString);
      }
      catch (JsonParseException e) { e.printStackTrace();}
      catch (JsonMappingException e) { e.printStackTrace(); }
      catch (IOException e) { e.printStackTrace(); }
   }
}

class Student {
   private String name;
   private int age;
   public Student(){}
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String toString(){
      return "Student [ name: "+name+", age: "+ age+ " ]";
   }
}

驗證結果

使用 javac 編譯器編譯類,如下所示

C:\Jackson_WORKSPACE>javac JacksonTester.java

現在執行 jacksonTester 來檢視結果

C:\Jackson_WORKSPACE>java JacksonTester

驗證輸出

Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

步驟 須知

以下是需要考慮的重要步驟。

步驟 1:建立 ObjectMapper 物件。

建立 ObjectMapper 物件。這是一個可重用物件。

ObjectMapper mapper = new ObjectMapper();

步驟 2:將 JSON 反序列化為物件。

使用 readValue() 方法從 JSON 獲取物件。傳遞 json 字串/json 字串的源和物件型別作為引數。

//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);

步驟 3:將物件序列化為 JSON。

使用 writeValueAsString() 方法獲取物件的 JSON 字串表示形式。

//Object to JSON Conversion		
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
廣告
© . All rights reserved.