傑克遜 - 第一個應用程式
在瞭解 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);
廣告