Spring Boot에서 데이터를 JSON형식으로 표현하는 가장 기본적인 방법으로는 클래스를 이용하는 방법이다.
이 방법을 알아야 다음에 Deserialization한 JSON을 만들 수 있다.
Spring boot Json 2편, 3편, 4편, 마지막
2. 2018/11/09 - [Develop/Spring Boot] - Spring Boot Json, Jackson을 이용한 JsonParsing - Json 3편
4. 2018/11/13 - [Develop/Spring Boot] - Spring Boot Json, hashmap to json , JsonObject 만들기- JSON 마지막
번외 Database의 값을 Json으로 select하는 방법.
1. 2018/10/24 - [Spring Boot] - Spring boot jpa map, hashmap, JSON형식
2. 2018/10/28 - [Spring Boot] - Spring boot JPA EntityManager를 이용한 Map형식으로 mapping하기
Spring boot에서 MySQL JSON 타입 SELECT하는 방법
1. 2018/11/30 - [Develop/Spring Boot] - Spring boot MySQL JSON - MySQL JSON DATA TYPE 값 가져오기
먼저 DTO를 생성한다.
1 | <code class = "hljs typescript" ><span class = "hljs-keyword" > public </span> <span class = "hljs-class" ><span class = "hljs-keyword" > class </span> <span class = "hljs-title" >TestDTO</span> </span>{ <span class = "hljs-keyword" > private </span> Integer id; <span class = "hljs-keyword" > private </span> <span class = "hljs-built_in" >String</span> password; <span class = "hljs-keyword" > public </span> <span class = "hljs-function" ><span class = "hljs-title" >TestDTO</span>(<span class = "hljs-params" ></span>)</span> { <span class = "hljs-built_in" > super </span>(); } <span class = "hljs-keyword" > public </span> <span class = "hljs-function" ><span class = "hljs-title" >TestDTO</span>(<span class = "hljs-params" >Integer id, <span class = "hljs-built_in" >String</span> password</span>)</span> { <span class = "hljs-built_in" > super </span>(); <span class = "hljs-built_in" > this </span>.id = id; <span class = "hljs-built_in" > this </span>.password = password; } <span class = "hljs-keyword" > public </span> Integer <span class = "hljs-function" ><span class = "hljs-title" >getId</span>(<span class = "hljs-params" ></span>)</span> { <span class = "hljs-keyword" > return </span> id; } <span class = "hljs-keyword" > public </span> <span class = "hljs-built_in" > void </span> <span class = "hljs-function" ><span class = "hljs-title" >setId</span>(<span class = "hljs-params" >Integer id</span>)</span> { <span class = "hljs-built_in" > this </span>.id = id; } <span class = "hljs-keyword" > public </span> <span class = "hljs-built_in" >String</span> <span class = "hljs-function" ><span class = "hljs-title" >getPassword</span>(<span class = "hljs-params" ></span>)</span> { <span class = "hljs-keyword" > return </span> password; } <span class = "hljs-keyword" > public </span> <span class = "hljs-built_in" > void </span> <span class = "hljs-function" ><span class = "hljs-title" >setPassword</span>(<span class = "hljs-params" ><span class = "hljs-built_in" >String</span> password</span>)</span> { <span class = "hljs-built_in" > this </span>.password = password; } } </code> |
다음 컨트롤러를 하나 생성해준다.
1 | <code class = "hljs csharp" > @RestController @RequestMapping (<span class = "hljs-keyword" >value</span> = <span class = "hljs-string" > "/jsontest" </span>) <span class = "hljs-keyword" > public </span> <span class = "hljs-keyword" > class </span> <span class = "hljs-title" >TestClass</span> { @GetMapping () <span class = "hljs-function" ><span class = "hljs-keyword" > public </span> TestDTO <span class = "hljs-title" >test</span>(<span class = "hljs-params" ></span>)</span> { TestDTO test = <span class = "hljs-keyword" > new </span> TestDTO(<span class = "hljs-number" > 1 </span>, <span class = "hljs-string" > "1111" </span>); <span class = "hljs-keyword" > return </span> test; } @GetMapping (<span class = "hljs-string" > "/2" </span>) <span class = "hljs-function" ><span class = "hljs-keyword" > public </span> List <span class = "hljs-title" >test2</span>(<span class = "hljs-params" ></span>)</span> { List test = <span class = "hljs-keyword" > new </span> ArrayList(); test.<span class = "hljs-keyword" >add</span>(<span class = "hljs-number" > 0 </span>, <span class = "hljs-keyword" > new </span> TestDTO(<span class = "hljs-number" > 1 </span>, <span class = "hljs-string" > "1111" </span>)); test.<span class = "hljs-keyword" >add</span>(<span class = "hljs-number" > 1 </span>, <span class = "hljs-keyword" > new </span> TestDTO(<span class = "hljs-number" > 2 </span>, <span class = "hljs-string" > "2222" </span>)); test.<span class = "hljs-keyword" >add</span>(<span class = "hljs-number" > 2 </span>, <span class = "hljs-keyword" > new </span> TestDTO(<span class = "hljs-number" > 3 </span>, <span class = "hljs-string" > "3333" </span>)); <span class = "hljs-keyword" > return </span> test; } }</code> |
그리고 실행하게 되면
1. test() 실행화면

2. test2() 실행화면

이렇게 Json 형태로 출력된다
참고로 Map은 Json형태로 출력되지 않고 {"id" = 1, "password"="1111"} 형식으로 출력된다. List만 Json형식으로 출력된다.
또한, 이렇게 클래스로 만든 JsonObject는 Return할 때만 Json으로 출력되지, log또는 print할 경우엔 Json형식으로 출력되지 않는다.
Json형식으로 출력되게 하려면 다음에 할 2편을 참고.
기초는 마무리.
'Develop > Spring Boot' 카테고리의 다른 글
Spring Boot Json, Jackson을 이용한 JsonParsing - Json 3편 (0) | 2018.11.09 |
---|---|
Spring Boot Json, Gson을 이용한 JsonObject to String, String to JsonObject- JSON 2편 (0) | 2018.11.07 |
Spring boot Jsoup Html 파싱 (0) | 2018.11.05 |
Spring Boot timezone UTC, KST설정 (0) | 2018.11.01 |
Spring Boot MySQL 한글 작동 안될 때 (0) | 2018.10.30 |