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 로 갈아타게 되었다.

번호 제목 글쓴이 날짜 조회 수
351 [Gemini] HttpURLConnection 클래스를 이용한 데이터 전송 방식 비교 황제낙엽 2024.03.14 6
350 google-auth-library-oauth2-http 라이브러리 다운로드 황제낙엽 2023.11.19 6
349 firebase-admin-java 라이브러리 다운로드 (firebase admin sdk library) 황제낙엽 2023.11.19 1
348 Enum 활용 (개인블로그, Effective Java) file 황제낙엽 2023.11.02 1
347 Enum 활용 (우아한기술블로그) file 황제낙엽 2023.11.02 4
346 servlet name 에 camel case 를 사용해서는 안되는 이유 황제낙엽 2023.10.24 2
345 org.apache.commons.fileupload.servlet.ServletFileUpload 이용 예시 황제낙엽 2023.08.25 2
344 ServletFileUpload.parseRequest() 실행 결과 리스트가 비어있는 오류 황제낙엽 2023.08.25 15
343 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다. file 황제낙엽 2023.08.23 82
342 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 6
341 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 4
» [JsonNode] depth 가 여러 단계인 json data 내부를 조회하는 java code 예제 (from Bard) file 황제낙엽 2023.08.09 20
339 JPA 개요 황제낙엽 2023.07.25 3
338 javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 2
337 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 219
336 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 3
335 base64 encode, decode 황제낙엽 2023.06.12 8
334 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 1
333 문자의 ASCII 값 테이블 - String.charAt() file 황제낙엽 2023.03.28 0
332 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 1