본문 바로가기
JAVA

JAVA : JSON String을 Map으로 Map을 JSON String으로 바꾸기

by 스노위13 2023. 1. 4.

pom.xml에 jackson을 추가한다. 

아래 링크에서 원하는 버전의 라이브러리를 받을 수 있다. 
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind

나는 2.13.1을 선택했는데 뭐 하든 상관 없을듯?
아래와 같이 추가하면 된다. 

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.1</version>
</dependency>

이제 이걸 활용해서 JSON을 Map으로 Map을 JSON String으로 바꿔보자

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Maptojson {
	public void MaptoJson() throws IOException {
    
            HashMap<String, Object> resultMap = new HashMap<String, Object>();	
            resultMap.put("키", "값");
            resultMap.put("이름", "박땡땡");
            resultMap.put("아이디", "codewos");


            //Map to JSONString : Map을 JSONString으로 바꿔보자

            ObjectMapper mapper = new ObjectMapper();
            String jsonData = mapper.writeValueAsString(resultMap);

            //결과
            //jsonData = {"키" : "값", "이름" : "박땡땡", "아이디" : "codewos"}
            
            
            
            /*JSONString to Map : 위에서 만든 jsonData를 다시 Map으로 바꾸자*/

            HashMap<String, Object> tempMap = new HashMap<>();
            tempMap = mapper.readValue(jsonData, new TypeReference<HashMap<String, Object>>() {});

            // 결과
            //tempMap = {키=값, 이름=박땡땡, 아이디=codewos}
	}
}

'JAVA' 카테고리의 다른 글

== 과 equal 의 차이  (0) 2023.12.08
java.util.Base64 사용 시 jdk 1.7 버전으로 인한 오류  (1) 2023.01.04
JAVA : 속이 비어있는 삼각형 만들기  (0) 2022.08.22
JAVA - 클래스의 구성  (0) 2022.07.15
JAVA - 클래스와 객체  (0) 2022.06.20

댓글