728x90
๋ฐ์ํ
SMALL
Jackson์ Java์์ JSON ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์์.
์ข ๋ ์ฝ๊ฒ ๋งํ๋ฉด:
Java ๊ฐ์ฒด๋ฅผ JSON ๋ฌธ์์ด๋ก ๋ฐ๊พธ๊ฑฐ๋ (์ง๋ ฌํ), JSON ๋ฌธ์์ด์ Java ๊ฐ์ฒด๋ก ๋ฐ๊ฟ์ฃผ๋ (์ญ์ง๋ ฌํ) ๋๊ตฌ์ ๋๋ค.
โ ์๋ฅผ ๋ค์ด ๋ณผ๊ฒ์!
Java ๊ฐ์ฒด → JSON ๋ฌธ์์ด (์ง๋ ฌํ)
ObjectMapper objectMapper = new ObjectMapper();
User user = new User("Alice", 25);
String json = objectMapper.writeValueAsString(user);
System.out.println(json);
// ์ถ๋ ฅ: {"name":"Alice","age":25}
JSON ๋ฌธ์์ด → Java ๊ฐ์ฒด (์ญ์ง๋ ฌํ)
String json = "{\"name\":\"Bob\",\"age\":30}";
User user = objectMapper.readValue(json, User.class);
System.out.println(user.getName()); // ์ถ๋ ฅ: Bob
๐ก ์ Jackson์ ๋ง์ด ์ธ๊น์?
- Spring Boot์์ ๊ธฐ๋ณธ์ ์ผ๋ก Jackson์ ์ฌ์ฉํฉ๋๋ค
- ์ค์ ์์ด๋ ๋๋ถ๋ถ์ ์ํฉ์์ ์ ์๋ํด์
- ๋ค์ํ ์ปค์คํฐ๋ง์ด์ง ๊ธฐ๋ฅ (@JsonProperty, @JsonIgnore ๋ฑ)
- ์ฑ๋ฅ๋ ์ข์์!
Jackson์ ๋ณดํต ๋ค์์ฒ๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ถ๊ฐํด์ (Maven ๊ธฐ์ค):
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.x.x</version>
</dependency>
โจ ์ ๋ฆฌ
Jackson = Java์ JSON ์ฌ์ด๋ฅผ ์๋ค ๊ฐ๋ค ํ๊ฒ ๋์์ฃผ๋ ๋ฒ์ญ๊ธฐ ๊ฐ์ ์ญํ
๊ทธ๋์ Spring Boot๋ ์น ๊ฐ๋ฐ์์ API๋ฅผ ๋ง๋ค ๋ ํ์ ๋๊ตฌ์ฒ๋ผ ์ฐ์ ๋๋ค!
728x90
๋ฐ์ํ
LIST