Jackson-첫 번째 응용 프로그램
jackson 라이브러리에 대해 자세히 살펴보기 전에 애플리케이션이 작동하는지 살펴 보겠습니다. 이 예에서는 Student 클래스를 만들었습니다. 학생 세부 정보가 포함 된 JSON 문자열을 만들고이를 student 객체로 역 직렬화 한 다음 JSON 문자열로 직렬화합니다.
JacksonTester라는 Java 클래스 파일을 만듭니다. C:\>Jackson_WORKSPACE.
파일 : 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
다음을 사용하여 클래스 컴파일 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을 Object로 DeSerialize합니다.
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);