반응형

Json 을 map 또는 vo객체로 변환하기 위해서는 Jackson라이브러리를 사용해야된다.

 

pom.xml 에서 아래의 코드를 추가하거나

https://mvnrepository.com/  메이븐레파지토리 홈페이지에서 jackson 라이브러리를 찾아서 사용해도 된다.

 

<dependency> 
  <groupId>org.codehaus.jackson</groupId> 
  <artifactId>jackson-mapper-asl</artifactId> 
  <version>1.9.13</version> 
</dependency>

 

jackson 라이브러리가 추가됬으면 사용 방법은 간단하다.

 

Json to Map 이다.

ObjectMapper mapper = new ObjectMapper(); 

String json = "{ \"test1\" : \"테스트1\" , \"test2\" : \"테스트2\" }"; 
Map<String, Object> map = new HashMap<String, Object>(); 

map = mapper.readValue(json, new TypeReference<Map<String, String>>(){}); 

System.out.println(map.get("test1"));
System.out.println(map.get("test2"));

 

위와 같이 코드를 작성하면 sysout 으로 찍히는 값은 

테스트1

테스트2

 

가 결과로 나온다.

 

Map to String 이다. (String 이긴하지만 json String으로 반환된다.)

우선 map을 다시만들어서 넣을수도 있지만.... 게으르니 위의 map을 이용해서 json string 으로 반환되는 예제이다.

 

ObjectMapper mapper = new ObjectMapper(); 

String json = "{ \"test1\" : \"테스트1\" , \"test2\" : \"테스트2\" }"; 
Map<String, Object> map = new HashMap<String, Object>(); 

map = mapper.readValue(json, new TypeReference<Map<String, String>>(){}); 

System.out.println(map.get("test1"));
System.out.println(map.get("test2"));

System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(map));

 

위와 같이 코드를 작성하면 sysout 으로 찍히는 값은 

 

테스트1

테스트2

 "test1" : "테스트1",  "test2" : "테스트2"}

 

가 결과로 나온다.

반응형

'개발 > Java' 카테고리의 다른 글

[Java] 자릿수 채우기  (0) 2020.01.02
[Java] equals,equalsIgnoreCase 차이점  (0) 2019.04.11
[Java] md5 암호화 초기화  (0) 2019.04.10
[Java] Java 한글 인코딩 해결,  (0) 2019.04.09
[Java] String을 Url 인코딩,디코딩 하기  (0) 2019.04.05

+ Recent posts