sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

depth 가 여러 단계인 json 데이터를 다루던중 내부를 조회하는데 코드가 너무나 길어져서 bard 에게 물어보았다.

그리고 똑똑한 bard 는 JsonNode 라는 클래스를 알려주며 내게 만족스러운 답을 주었다.

 

다음은 depth가 여러 단계인 JSON 데이터 내부를 조회하는 Java 코드 예제입니다.

Java
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonDemo {

    public static void main(String[] args) throws JsonProcessingException {
        // JSON 데이터를 읽습니다.
        String json = "{\"name\":\"John Doe\",\"age\":30,\"address\":{\"city\":\"Seoul\",\"country\":\"Korea\"}}";내

        // JSON 데이터를 JSON 노드로 변환합니다.
        ObjectMapper mapper = new ObjectMapper();
        JsonNode root = mapper.readTree(json);

        // JSON 노드의 속성을 출력합니다.
        System.out.println(root.get("name")); // John Doe
        System.out.println(root.get("age")); // 30
        System.out.println(root.get("address").get("city")); // Seoul
        System.out.println(root.get("address").get("country")); // Korea
    }
}

 

원래 작성하던 코드는

 

2023-08-09 오전 8-47-28.png

 

위와 같았는데

bard 가 알려준 코드대로 만들어보니

 

2023-08-09 오전 8-47-50.png

 

method chaining 방식이어서 코드 작성도 편리하고 가독성이 매우 좋아졌다.

꽤 오랫동안 JSONObject 를 다뤘는데 bard 덕분에 이제서야 JsonNode 로 갈아타게 되었다.

번호 제목 글쓴이 날짜 조회 수
173 google-auth-library-oauth2-http 라이브러리 다운로드 황제낙엽 2023.11.19 1533
172 firebase-admin-java 라이브러리 다운로드 (firebase admin sdk library) 황제낙엽 2023.11.19 607
171 Enum 활용 (개인블로그, Effective Java) file 황제낙엽 2023.11.02 535
170 Enum 활용 (우아한기술블로그) file 황제낙엽 2023.11.02 526
» [JsonNode] depth 가 여러 단계인 json data 내부를 조회하는 java code 예제 (from Bard) file 황제낙엽 2023.08.09 619
168 JPA 개요 황제낙엽 2023.07.25 276
167 javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 581
166 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 575
165 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 620
164 base64 encode, decode 황제낙엽 2023.06.12 295
163 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 527
162 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 288
161 구글 클라우드 비전 API 사용하기 (Google Cloud Vision API) 황제낙엽 2023.02.22 301
160 람다식(Lambda Expressions in Java) file 황제낙엽 2022.12.03 777
159 ConcurrentLinkedQueue와 LinkedBlockingQueue 황제낙엽 2022.04.06 516
158 java.util.Queue file 황제낙엽 2022.04.06 8109
157 HP-UX, IBM-AIX 황제낙엽 2021.06.23 681
156 람다(Lambda)와 함수형 인터페이스 황제낙엽 2021.05.10 603
155 for, while 등의 loop구문에서 sleep하기 황제낙엽 2020.12.04 499
154 미디어 파일의 metadata를 읽자 (metadata-extractor) file 황제낙엽 2020.08.30 1074