개발이야기/Java

[Java] JSONObject 클래스 사용해서 Map을 JSON으로 변환하기

후린개발자 2024. 1. 29.
반응형

아래 코드는 JSONObject 클래스를 사용하여 Map을 JSON 형식으로 변환하고 있습니다. 키-값의 형태로 나타내며 put 메서드를 사용하여 키와 값을 추가할 수 있습니다. JSON 데이터를 다루는 데 필요한 기본적인 기능의 소스코드입니다.

 

 

1. fromMaptoJson 메서드

/**
* Map을 JSON으로 변환하는 메서드
* @param map Map<String, Object>
* @return JSONObject.
*/ 
public static JSONObject fromMaptoJson(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;
}



1) JSONObject jsonObject = new JSONObject();

-JSONObject 클래스의 객체를 생성합니다. JSON 형식의 데이터를 다루는 데 사용됩니다.

2) for (Map.Entry<String, Object> entry : map.entrySet()) {

-주어진 맵(Map<String, Object> map)의 각 엔트리에 대해 반복합니다.

3) String key = entry.getKey(); / Object value = entry.getValue();

-현재 엔트리에서 키와 값을 추출합니다.

4) jsonObject.put(key, value);

-JSON 객체에 키-값 쌍을 추가합니다. 현재 맵의 각 키-값 쌍을 JSON 객체에 넣어주는 역할을 합니다.

5) return jsonObject;

-완성된 JSON 객체를 반환합니다. 반환된 객체는 JSON 형식의 문자열로 변환할 수 있습니다.

 

2. main 메서드

public static void main(String[] args) {
    // 예제로 사용할 Map 생성
    Map<String, Object> sampleMap = new HashMap<>();
    sampleMap.put("name", "John Doe");
    sampleMap.put("age", 25);
    sampleMap.put("city", "New York");

    // Map을 JSON으로 변환
    JSONObject jsonResult = fromMaptoJson(sampleMap);

    // 결과 출력
    System.out.println("JSON 결과: " + jsonResult.toString());
}


1) Map<String, Object> sampleMap = new HashMap<>();

-HashMap 클래스를 사용하여 sampleMap이라는 이름의 맵을 생성 합니다. 세 가지 키("name", "age", "city")와 그에 해당하는 값들이 들어 있습니다.

2) sampleMap.put("name", "John Doe"); / sampleMap.put("age", 25); / sampleMap.put("city", "New York");

-각각 "name", "age", "city" 키에 대응하는 값을 맵에 추가합니다.

3) JSONObject jsonResult = fromMaptoJson(sampleMap);

-fromMaptoJson 메서드를 호출하여 sampleMap을 JSON으로 변환합니다. 변환된 결과는 jsonResult 변수에 저장됩니다.

 

 

3. 전체코드

import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;


public class TEST {
    /**
     * Map을 JSON으로 변환하는 메서드
     * @param map Map<String, Object>
     * @return JSONObject.
     */ 
    public static JSONObject fromMaptoJson(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;
    }
    public static void main(String[] args) {
        // 예제로 사용할 Map 생성
        Map<String, Object> sampleMap = new HashMap<>();
        sampleMap.put("name", "John Doe");
        sampleMap.put("age", 25);
        sampleMap.put("city", "New York");

        // Map을 JSON으로 변환
        JSONObject jsonResult = fromMaptoJson(sampleMap);

        // 결과 출력
        System.out.println("JSON 결과: " + jsonResult.toString());
    }
}

 


 

Colsole 결과

반응형

댓글

💲 추천 글