String json = "{\"name\":\"Park\",\"age\":30,\"extra\":\"value\"}";
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
User user = mapper.readValue(json, User.class);
System.out.println(user.name); // Park
1. toJson vs toPrettyJson
- toJson
- 일반 JSON 출력
- 한 줄로 출력, 들여쓰기 없음
- 내부적으로 GeneratorSettings.prettyPrinter = null
- toPrettyJson
- 보기 좋은(JSON Pretty Print) 출력
- 줄바꿈과 들여쓰기 적용
- 내부적으로 GeneratorSettings.prettyPrinter에 PrettyPrinter 객체가 할당됨
핵심: PrettyPrinter 사용 여부가 두 메서드의 차이.
| 구분 | 특징 | 내부 동작 |
| toJson | 일반 JSON 출력, 한 줄로 표시 | GeneratorSettings.prettyPrinter = null |
| toPrettyJson | 보기 좋은 JSON 출력 (Pretty Print), 줄바꿈 + 들여쓰기 적용 | GeneratorSettings.prettyPrinter에 PrettyPrinter 객체 사용 |
class User {
public String name = "Park";
public int age = 30;
}
// 일반 JSON
String json1 = JsonUtil.toJson(new User());
System.out.println(json1);
// 출력: {"name":"Park","age":30}
// Pretty JSON
String json2 = JsonUtil.toPrettyJson(new User());
System.out.println(json2);
// 출력:
// {
// "name" : "Park",
// "age" : 30
// }
요약
- toJson → 빠른 한 줄 JSON
- toPrettyJson → 사람이 읽기 좋은 JSON
'BACKEND' 카테고리의 다른 글
| [java]ThreadLocal 사용법 (0) | 2025.08.21 |
|---|---|
| [Architecture]멀티테넌시(Multi-tenancy) -Shared Schema 방식 (0) | 2025.08.21 |
| [DB]차집합 (LEFT OUTER JOIN + IS NULL) (0) | 2025.08.19 |
| [MyBatis] flushStatements (2) | 2025.08.14 |
| [DB] 옵티마이저 힌트(Optimizer Hint) (6) | 2025.08.14 |