1. JSONObject()

  • JSONObject()를 호출 한 다음 해시 맵을 전달하는 방법
  • 의존성 추가
 // build.gradle 의존성 추가 부분 JsonObject
    implementation group: 'org.json', name: 'json', version: '20090211'
import org.json.simple.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args){

        ArrayList<String> stringArrayList = new ArrayList<>();
        stringArrayList.add("firstString");
        stringArrayList.add("secondString");
        stringArrayList.add("thirdString");

        Map<String, Object> map = new HashMap();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("stringList", stringArrayList);

        JSONObject json =  new JSONObject(map);
        System.out.printf( "JSON: %s", json);

    }
    
    
    출력 : JSON: {"key1":"value1","key2":"value2","stringList":["firstString","secondString","thirdString"]}

 

2. Jackson 라이브러리

  • Java에는 해시 맵을 유연성이 뛰어난 JSON 객체로 변환하는 데 도움이되는 라이브러리가 있다.
  • Jackson은 Java map을 가져온 다음지도를 JSON 형식으로 변환하는 라이브러리 중 하나
  • ObjectMapper().writeValueAsString(map)이 호환되지 않는 데이터 형식을 발견하면 예외를 던질 수 있으므로JsonProcessingException을 처리하는 것을 잊지 말아야한다.
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) throws JsonProcessingException {

        Map<String, Object> map = new HashMap();
        map.put("key1", "value1");
        map.put("key2", "value2");

        String json = new ObjectMapper().writeValueAsString(map);
        System.out.printf( "JSON: %s", json);

    }
    
    출력 : JSON: {"key1":"value1","key2":"value2"}

 

3. GSON 라이브러리

  • Gson 라이브러리는 해시 맵을 JSON 객체로 변환하는 데 가장 많이 사용되는 라이브러리 중 하나이다.
  • Gson 클래스에는 맵을 JSON 트리로 변환하는toJsonTree 메소드가 있다.
  • JSON 객체가 필요하므로 toJsonObject()를 사용하여 JsomTree를 JSON 객체로 만들 수 있다.
import com.google.gson.Gson;
import com.google.gson.JsonObject;

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args){

        Map<String, Object> map = new HashMap();
        map.put("key1", "value1");
        map.put("key2", "value2");

        Gson gson = new Gson();
        JsonObject json = gson.toJsonTree(map).getAsJsonObject();

        System.out.printf( "JSON: %s", json);

    }
    
    출력 : JSON: {"key1":"value1","key2":"value2"}

 

이번 포스팅을 알아보면서 너무 좋은 사이트를 발견했다 ! -> https://www.delftstack.com/ 

 

Delft Stack

 

www.delftstack.com

유용한 정보가 많아서 앞으로 자주 이용할 것 같다.


[ 참고 자료 ]

 

 

Java에서 Hashmap을 JSON 객체로 변환하는 방법

이 기사에서는 해시 맵을 간단한 JSON 객체로 변환 할 수있는 방법을 소개합니다.

www.delftstack.com

 

 

Java - JSON 라이브러리 사용 방법 (JSONObject, JSONArray)

Java에서 org.json 라이브러리를 이용하여 JSON 데이터를 다룰 수 있습니다. 이 라이브러리의 JSONObject, JSONArray 클래스는 JSON 데이터를 갖고 있고, JSON 형식의 문자열로 출력할 수 있습니다. JSON 라이브

codechacha.com

 

+ Recent posts