Jackson - pierwsza aplikacja
Zanim przejdziemy do szczegółów biblioteki jackson, zobaczmy, jak działa aplikacja. W tym przykładzie utworzyliśmy klasę Student. Utworzymy ciąg JSON ze szczegółami ucznia i deserializujemy go do obiektu ucznia, a następnie serializujemy go do ciągu JSON.
Utwórz plik klasy java o nazwie JacksonTester w programie C:\>Jackson_WORKSPACE.
Plik: 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+ " ]";
}
}
Verify the result
Skompiluj klasy przy użyciu javac kompilator w następujący sposób:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Teraz uruchom test jacksonTester, aby zobaczyć wynik:
C:\Jackson_WORKSPACE>java JacksonTester
Sprawdź dane wyjściowe
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
Kroki do zapamiętania
Poniżej przedstawiono ważne kroki, które należy tutaj rozważyć.
Krok 1: Utwórz obiekt ObjectMapper.
Utwórz obiekt ObjectMapper. Jest to przedmiot wielokrotnego użytku.
ObjectMapper mapper = new ObjectMapper();
Krok 2: DeSerialize JSON to Object.
Użyj metody readValue (), aby pobrać Object z JSON. Przekaż ciąg json / źródło ciągu JSON i typ obiektu jako parametr.
//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);
Krok 3: Serializacja obiektu do formatu JSON.
Użyj metody writeValueAsString (), aby uzyskać reprezentację obiektu w postaci ciągu JSON.
//Object to JSON Conversion
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);