반응형
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 |