JSON
-
[Java] JSONPath로 JSON 데이터 다루기Java/기타 2024. 8. 17. 10:07
JSONPath는 JSON 데이터를 효율적으로 탐색하고, 특정 값을 추출하거나 필터링하는 쿼리 언어입니다. 이번 포스트에서는 com.jayway.jsonpath 라이브러리 사용하여 Java에서 JSON 데이터를 다루는 방법을 살펴보겠습니다.JSONPath 개요JSONPath는 JSON 문서를 대상으로 SQL과 유사한 구문을 사용하여 JSON 데이터의 특정 값을 추출할 수 있습니다. 대표적인 JSONPath 구문은 다음과 같습니다.JSON 경로 설명JSON 경로설명$루트 객체를 나타냅니다.@현재 객체를 나타냅니다.. 또는 [] 자식을 나타냅니다.*모든 요소를 나타냅니다... 모든 하위 요소를 재귀적으로 탐색합니다.?()필터링 조건을 나타냅니다. 1. 라이브러리 추가com.jayway.jsonpath:jso..
-
[MongoDB] MongoDB 특징NoSQL/MongoDB 2022. 3. 8. 09:55
MongoDB 소개 10gen 사에서 개발한 솔루션(C++)key-value와 다르게 여러 용도로 사용이 가능(범용적)스키마를 고정하지 않는 형태스키마 변경으로 오는 문제없음데이터를 구조화해서 json 형태로 저장(데이터를 key-value화 저장)Join이 불가능하기 때문에 Join이 필요 없도록 데이터 설계 필요 MongoDB 특징메모리맵 형태의 파일엔진 DB이기 때문에 메모리에 의존적 - 메모리 크기가 성능을 좌우 - 메모리를 넘어서는 경우 성능이 급격히 저하됨쌓아 놓고 삭제가 없는 경우 적합 - “로그 데이터” - “이벤트 참여 내역” - “세션”트랜잭션이 필요한, 금융, 결제, 빌링, 회원 정보 등에는 부적합 도큐먼트 데이터 모델속성의 이름과 값으로 이루어진 쌍의 집합속성은 문자열이나 숫자, ..
-
[Spring Boot] REST API 만들기(13) - 예외 처리 및 테스트Spring Boot/2.4.x - REST API 만들기 2020. 5. 21. 16:48
스프링 MVC에서는 애플리케이션에서 발생하는 예외를 처리할 때는 @ExceptionHandler 어노테이션과 @ControllerAdvice 어노테이션을 사용합니다. @ExceptionHandler은 전체 애플리케이션의 예외 처리를 하지 못하기 때문에, 전체 애플리케이션의 예외 처리가 가능하고, ReponseEntity 형식을 사용할 수 있는 @ControllerAdvice 어노테이션을 이용해서 예외 처리를 하도록 하겠습니다. 1. ResourceNotFoundException.java 추가자원을 찾을 수 없다는 예외를 처리하기 위해 com.spring.board.exception 패키지를 생성한 후 ResourceNotFoundException 클래스를 추가하세요.ResourceNotFoundExcep..
-
[Spring Boot] REST API 만들기(12) - Content Negotiation 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 20. 17:46
REST에서는 하나의 리소스에 대해서 여러 형태의 Representation을 가질 수 있습니다. 어떤 요청을 처리할 때 응답을 application/json 형태로 할 수도 있고, application/xml 형태로 할 수도 있습니다. 클라이언트가 요청을 전달할 때 HTTP Header 중에서 Accept라는 이름을 이용해서 원하는 응답 형태를 명시하면, 서버에서는 클라이언트가 원하는 형태로 결과를 전달합니다. 이러한 처리 과정을 Content Negotiation이라고 합니다. 1. WebMvcConfig.java 수정WebMvcConfigurer의 configureContentNegotiation를 이용해서 미디어 타입을 설정할 수 있습니다.WebMvcConfig.java더보기123456789101..
-
[Spring Boot] REST API 만들기(11) - JSON Root Element 추가Spring Boot/2.4.x - REST API 만들기 2020. 5. 20. 16:07
JSON과 XML 두 방식을 모두 사용하는 경우 기본적으로 JSON은 Root Element룰 사용하지 않아 데이터 형식이 다른 경우가 있습니다. 게시글 목록 조회 시에 JSON으로 응답받는 경우 Root Element가 적용되지 않은 것을 확인할 수 있습니다. 게시글 목록 조회 시(http://localhost:8080/board) JSON, XML 응답JSON더보기12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879{ "boards": [ { "boar..
-
[Spring] REST JSON Response 예제Spring/기타 2019. 5. 26. 18:56
1. BeanNameViewResolver, MappingJackson2JsonView 적용 BeanNameViewResolver 클래스는 뷰 이름과 동일한 이름을 갖는 빈을 뷰 객체로 사용합니다. BeanNameViewResolver는 주로 커스텀 View 클래스를 뷰로 사용해야 하는 경우 사용됩니다. 스프링4 버전은 자바 객체를 JSON으로 변환해서 보여주는 뷰 구현 클래스인 MappingJackson2JsonView를 제공하고 있습니다. 컨트롤러에서는 다음과 같이 뷰 이름으로 MappingJackson2JsonVie 타입의 빈을 설정해주면 됩니다. MappingJackson2JsonView는 모델에 저장된 모든 객체를 JSON 형식으로 변환해줍니다. MappingJackson2JsonView는 내부..
-
[JAVA] Gson 라이브러리를 사용한 JSON 데이터 처리Java/기타 2019. 5. 19. 16:34
목차 Java에서 JSON 데이터를 처리할 때 가장 널리 사용되는 라이브러리 중 하나가 바로 Gson입니다. Google에서 개발한 Gson은 유연하고 사용이 간편한 JSON 파싱 및 직렬화/역직렬화 라이브러리입니다. 이번 글에서는 Gson 라이브러리를 사용하여 JSON 데이터를 처리하는 다양한 방법을 예제로 설명하겠습니다. Gson 라이브러리 설정우선 Gradle 프로젝트에서 Gson 라이브러리를 사용하기 위해 build.gradle 파일에 다음과 같이 Gson 라이브러리를 추가합니다.dependencies { implementation 'com.google.code.gson:gson:2.10'} Gson에서 자주 사용하는 메서드Gson 라이브러리를 사용할 때 자주 사용하는 주요 메서드는 다음과 ..
-
[JAVA] Jackson 라이브러리를 사용한 JSON 데이터 처리Java/기타 2019. 5. 14. 15:32
목차 Java에서 JSON 데이터를 처리할 때 가장 널리 사용되는 라이브러리 중 하나가 바로 Jackson 입니다. Jackson은 빠르고 유연하며 강력한 JSON 파싱 및 직렬화/역직렬화 기능을 제공합니다. 이번 글에서는 Jackson 라이브러리를 사용하여 JSON 데이터를 처리하는 다양한 방법을 예제를 통해 설명하겠습니다. Jackson 라이브러리 설정우선, Gradle 프로젝트에서 Jackson 라이브러리를 사용하기 위해 build.gradle 파일에 다음과 같이 Jackson 라이브러리를 추가합니다.dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.0' implementation 'com.fas..
-
[Spring] 게시판 만들기(13) - mapper 및 json 설정Spring/4.3.x - 게시판 만들기 2018. 12. 14. 16:19
SQL문을 관리하는 mapper 파일 및 경로를 설정하고, Java 객체를 JSON으로 응답할 수 있도록 설정하는 작업을 진행하도록 하겠습니다. 1. root-context.xml 수정 mapper에 위치 및 SqlSession을 설정하세요. root-context.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Colored by Color Scripter cs 2. mapper.xml 추가 src/main/resources 위치에 mappers 폴더를 생성한 후 boardMapper.xml 파일을 추가하세요. parameterType, resultType에 선언한 BoardForm, BoardDto..