IT지식/지식플러스

List<Map<key,value>> 형태를 JSONArray로 변환하기

맨땅에헤딩개발자 2025. 1. 21. 22:31

오늘은 List<Map<key,value>>과 Map<key,value>를 JSON형태로 변환하는 과정에 대해 알아보자.

 

/*테스트용 List<Map<key,value>> 생성*/
List<Map<String, Object>> testList = new ArrayList<Map<String, Object>();
Map<String, Object> testMap1 = new HashMap<String, Object>();
Map<String, Object> testMap2 = new HashMap<String, Object>();
Map<String, Object> testMap3 = new HashMap<String, Object>();

testMap1.put("key1","value1");
testMap2.put("key2","value2");
testMap3.put("key3","value3");

testList.add(testMap1);
testList.add(testMap2);
testList.add(testMap3);

먼저 위와 같은 ListMap이 있다고 가정하겠습니다

 

/*ListMap을 JsonArray로 변환하는 함수*/
public static JSONArray converListToJson(List<Map<Stirng, Object>> list) {
	
    JSONArray jsonArray = new JSONArray();
    
    for(Map<String, Object> map : list) {
    	jsonArray.add(converMapToJson(map));
    }
    
    return jsonArray;
}

/*Map을 JsonObject로 변환하는 함수*/
public static JSONObject converMapToJson(Map<String, Object> map) {
	JSONObject jsonObject = new JSONObject();
    
    for(Map.Entry<String, Object> entry : map.entrySet()) {
    
    	String key = entry.getKey();
        Object value = entry.getValue();
        jsonObject.put(key,value);
    }
    
    return jsonObject;
}

List<Map<key,value>>를 json형태로 변환하는 함수입니다.

모듈화 시켜서 변환이 필요할 때 마다 호출해서 사용하면 될 것 같습니다.

 

/* import JSONLibrary*/

JSONArray를 쓰려면 JSON 라이브러리가 필요합니다.

Maven을 사용하는경우 pom.xml에 밑의 디펜던시를 추가하시길 바랍니다.

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>2.4</version>
</dependency>