๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ์ผ์ง€ ๐Ÿ‘ฉ‍๐Ÿ’ป

Jackson์ด๋ž€?

by chuyj15 2025. 6. 23.
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