아래 코드는 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());
}
}
'개발이야기 > Java' 카테고리의 다른 글
[Java] LocalDateTime을 활용해서 날짜와 시간 처리하기 (0) | 2024.02.13 |
---|---|
[Java] Calendar, Date 클래스 활용해서 날짜 계산하고 더하기 (0) | 2024.02.02 |
[Java] Gson 사용해서 Json String DTO 변환하기 (2) | 2024.01.29 |
[Java] ObjectUtils 클래스 메서드 사용법, 예제 (isEmpty, nullSafeEquals, isArray) (0) | 2024.01.18 |
[Java] 이미지 리사이징 후 저장하기 (Image Resize) (0) | 2024.01.04 |
댓글