> Java > java지도 시간 > 본문

Java에서 JSON용 Jackson 살펴보기: JsonNode, ArrayNode 및 ObjectMapper 이해

Linda Hamilton
풀어 주다: 2024-10-22 22:25:03
원래의
748명이 탐색했습니다.

Dive into Jackson for JSON in Java: Understanding JsonNode, ArrayNode, and ObjectMapper

안녕하세요, Java 개발자 여러분! ?

JSON 데이터를 보면서 '도대체 Java에서 이걸 어떻게 작업하지?'라고 생각한 적이 있으신가요? 걱정하지 마세요.  당신은 혼자가 아닙니다! API를 구축하든, API를 사용하든, 아니면 단순히 데이터를 처리하든 JSON을 다루는 것은 거의 불가피합니다. 하지만 좋은 소식이 있습니다. Jackson이 도와드리겠습니다!

이 기사에서는 JsonNode, ArrayNode 및 ObjectMapper와 같은 Jackson의 기본 사항을 안내해 드리겠습니다. 간단한 코드 예제와 출력을 통해 작업이 어떻게 작동하는지 정확하게 보여드리겠습니다.

좋나요? 뛰어들어보자! ?

Spring Boot 프로젝트에서 Jackson 설정하기

예제를 살펴보기 전에 Spring Boot 프로젝트에서 Jackson을 설정하는 방법을 빠르게 살펴보겠습니다. 좋은 소식: Spring Boot에는 Jackson이 내장되어 있으므로 최소한의 설정만 필요합니다. ?

새 Spring Boot 프로젝트를 생성하면 Jackson이 직렬화 및 역직렬화를 위한 기본 JSON 라이브러리로 제공됩니다. Jackson을 명시적으로 추가하려면 pom.xml에 다음 종속성이 있는지 확인하세요.

이렇게 하면 JSON 처리를 위한 ObjectMapper를 포함한 Jackson의 핵심 기능이 추가됩니다.

보너스: Spring Boot 구성
Spring Boot는 Jackson에 대한 기본 설정을 제공하지만 application.properties 또는 application.yml 파일을 통해 이를 사용자 정의할 수도 있습니다.

예를 들어 JSON의 예쁜 인쇄를 구성하려면 다음을 추가할 수 있습니다.

또는 application.yml에서:

이제 Spring Boot 앱이 JSON을 직렬화할 때마다 형식이 멋지게 지정됩니다!

이 설정이 완료되면 Jackson을 사용하여 Spring Boot 앱에서 JSON을 사용할 수 있습니다.

그렇다면 잭슨이란 무엇인가요?

Jackson은 Java에서 JSON을 사용하는 데 있어서 스위스 군용 칼과 같습니다. 다음과 같은 용도로 사용할 수 있습니다.

  • 1. Java 객체를 JSON으로 변환합니다(직렬화).
  • 2. JSON을 Java 객체로 변환합니다(역직렬화).
  • 3. JsonNode를 사용하여 트리 구조로 JSON을 처리합니다.

오늘은 이러한 기능 중 일부를 살펴볼 예정이므로 JSON 처리가 훨씬 덜 무섭게 느껴지도록 준비하세요!

JsonNode: JSON을 향한 첫 번째 단계

JsonNode를 JSON 데이터를 탐색하고 조작할 수 있는 마법의 열쇠라고 생각하세요. 이는 Java에서 JSON 구조의 다양한 부분을 나타내는 방법입니다.

다음과 같은 간단한 JSON 데이터가 있다고 가정해 보세요.

Java에서는 이것을 어떻게 읽나요? 어디 보자!

코드는 다음과 같습니다.

그리고 출력은 다음과 같습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

  1. ObjectMapper는 Jackson의 주요 도우미입니다. JSON과 Java 사이를 번역하는 것입니다.
  2. readTree()는 JSON을 읽고 이를 JsonNode 객체로 변환합니다.
  3. JSON에서 '이름', '나이', '도시' 등 개별 필드에 액세스하려면 .get()을 사용합니다.

정말 멋지죠? 이제 Java에서 JSON을 사용하는 것이 얼마나 쉬운지 실감하기 시작했습니다!

ArrayNode: JSON 배열 처리

하지만 JSON이 배열이면 어떻게 될까요? 걱정하지 마세요. 잭슨도 그 문제를 다뤘습니다! 다음 JSON 배열이 있다고 가정해 보겠습니다.

ArrayNode를 사용하여 이 객체 배열을 읽고 작업할 수 있습니다.

코드는 다음과 같습니다.

그리고 출력은 다음과 같습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

  1. **ArrayNode **는 JSON 개체의 배열을 나타내는 **JsonNode **의 특수한 유형입니다.
  2. 배열의 각 요소를 반복하여 각 사람의 "이름"을 인쇄합니다.

쉽죠? ArrayNode를 사용하면 Jackson이 JSON 배열을 쉽게 처리할 수 있습니다!

ObjectMapper: 잭슨의 심장

이제 ObjectMapper - 잭슨의 마음과 영혼에 대해 이야기해보겠습니다. Java 객체를 JSON으로 또는 그 반대로 변환하는 데 유용한 도구입니다.

JSON으로 Java 객체 직렬화
직렬화는 "Java 객체를 JSON 문자열로 변환"하는 것을 표현하는 멋진 방법일 뿐입니다. 간단한 Person 클래스가 있다고 가정해 보겠습니다.

코드:

출력:

여기서 무슨 일이 일어나고 있는 걸까요?

  1. **ObjectMapper **Person객체를 가져와서 writeValueAsString()을 사용하여 JSON 문자열로 변환합니다.
  2. writeValueAsString() 메소드는 Java 객체의 JSON 표현을 생성합니다.
  3. 결과는 API로 보내거나 데이터베이스에 저장할 수 있는 유효한 JSON 문자열입니다.

JSON을 자바 객체로 역직렬화

그리고 그 반대의 경우도 마찬가지입니다! JSON을 가져와서 Java 객체로 다시 변환할 수 있습니다. 이를 역직렬화라고 합니다.

코드는 다음과 같습니다.

그리고 출력은 다음과 같습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

**ObjectMapper**를 다시 사용하지만 이번에는 JSON 문자열을 읽고 이를 다시 Person 개체로 변환합니다.
이는 readValue()를 사용하여 수행되며 결과는 코드에서 사용할 준비가 된 전체 Java 객체입니다.

마무리

그리고 거기에 있습니다! 우리는 많은 내용을 다루었습니다:

  • JsonNode: JSON 데이터를 읽고 조작하는 방법
  • ArrayNode: JSON 배열을 처리하는 방법
  • ObjectMapper: Java 객체를 JSON으로 직렬화 및 역직렬화하는 방법

이 가이드가 잭슨을 좀 덜 위협적이고 사용하기에 훨씬 더 재미있게 만들어주기를 바랍니다! 익숙해지면 곧 전문가처럼 JSON을 다룰 수 있게 될 것입니다.

하지만 여기서 멈추지 마세요! 실제 응용 프로그램에 대한 고급 Jackson 기능과 모범 사례에 대해 자세히 알아보는 다음 기사를 주목해 주세요.

다음에 또 만나요! 즐거운 코딩하세요! ?

위 내용은 Java에서 JSON용 Jackson 살펴보기: JsonNode, ArrayNode 및 ObjectMapper 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!