[Java] String <=> JsonNode 변환 하기
ObjectMapper 클래스의 readTree, readValue 메서드를 사용하여 String 을 JsonNode 혹은 클래스타입으로 변경
하고 JsonNode, 클래스를 String으로 변환하는 방법에 대해 설명해보겠습니다.
1. String => JsonNode
1.1 String => Json (readTree)
ObjectMapper 클래스의 readTree 메서드는 문자열을 JsonNode 타입으로 반환합니다.
@Test
void jsonTest() {
String jsonStr = "{\"name\":\"ksr930\",\"age\":29,\"address\":\"seoul\"}";
try {
JsonNode jsonNode = new ObjectMapper().readTree(jsonStr);
System.out.println(jsonNode);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
{"name":"ksr930","age":29,"address":"seoul"}
1.2 String => Json (readValue)
ObjectMapper 클래스의 readValue는 반환받을 클래스를 지정하는 방식입니다.
@Getter
@Setter
static class UserInfo {
private String name;
private int age;
private String address;
}
@Test
void jsonTest() {
String jsonStr = "{\"name\":\"ksr930\",\"age\":29,\"address\":\"seoul\"}";
try {
UserInfo userInfo = new ObjectMapper().readValue(jsonStr, UserInfo.class);
System.out.println(userInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
{"name":"ksr930","age":29,"address":"seoul"}
2. JsonNode => String
JsonNode 타입을 문자열로 변환할때는 ObjectMapper 클래스의 writeValueAsString 메서드를 사용합니다.
@Test
void jsonTest() {
String jsonStr = "{\"name\":\"ksr930\",\"age\":29,\"address\":\"seoul\"}";
try {
// JsonNode 객체 생성
JsonNode jsonNode = new ObjectMapper().readTree(jsonStr);
// ObjectMapper().writeValueAsString 메서드 호출
String jsonToStr = new ObjectMapper().writeValueAsString(jsonNode);
System.out.println(jsonToStr);
} catch (Exception e) {
e.printStackTrace();
}
}
{"name":"ksr930","age":29,"address":"seoul"}
반응형
'개발 언어 > Java' 카테고리의 다른 글
Java8 Functional Interface 간단한 예제로 알아보기 (0) | 2023.06.04 |
---|---|
Java String 자르기, 분리, 합치기 (substring, split, join) (0) | 2023.02.10 |
[Java] 스트림 컬렉션 차이점 filter sort map collect (1) | 2021.12.28 |
[Java] 시간 측정하기 System currentTimeMillis (0) | 2021.12.24 |
[Java] 람다표현식의 조합과 Comparator, Predicate, Function 디폴트 메서드(Default method) (0) | 2021.12.16 |
댓글