반응형

 

Spring Boot에서 데이터를 JSON형식으로 표현하는 가장 기본적인 방법으로는 클래스를 이용하는 방법이다.

이 방법을 알아야 다음에 Deserialization한 JSON을 만들 수 있다.

 

Spring boot Json 2편, 3편, 4편, 마지막

1. 2018/11/07 - [Develop/Spring Boot] - Spring Boot Json, Gson을 이용한 JsonObject to String, String to JsonObject- JSON 2편

2. 2018/11/09 - [Develop/Spring Boot] - Spring Boot Json, Jackson을 이용한 JsonParsing - Json 3편

3. 2018/11/12 - [Develop/Spring Boot] - Spring Boot Deserialization Json, Deserialization JsonString to JsonObject - Json 4편

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편을 참고.

 

기초는 마무리.

 

반응형

+ Recent posts