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

Rupam Yadav 2023년10월12일
  1. new JSONObject(hashmap)-Hashmap을 JSON 객체로 변환
  2. 해시 맵을 JSON 객체로 변환하는 Jackson 라이브러리
  3. Hashmap을 JSON 객체로 변환하는 GSON 라이브러리
Java에서 Hashmap을 JSON 객체로 변환하는 방법

이 기사에서는 해시 맵을 Java에서 JSON 객체로 변환하는 방법을 보여줍니다. 해시 맵을 생성 한 다음이를 JSON 객체로 변환하는 방법에 대한 예제를 자세히 살펴 보겠습니다.

Hashmap과 JSON은 모두 데이터를 쉽게 저장하고 전송하는 데 사용할 수있는 간단한 구조를 만드는 데 도움이되므로 개발자가 매우 일반적으로 사용합니다.

new JSONObject(hashmap)-Hashmap을 JSON 객체로 변환

해시 맵을 JSON 객체로 변환하는 가장 전통적인 방법은JSONObject()를 호출 한 다음 해시 맵을 전달하는 것입니다.

해시 맵을 생성 한 다음 JSON 형식으로 인쇄하는 예제를 살펴 보겠습니다.

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

public class Main {
  public static void main(String[] args) {
    Map<String, Object> map = new HashMap();

    map.put("key1", "value1");
    map.put("key2", "value2");

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

출력:

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

여기서 주목해야 할 점은Map <String, Object>key 인 문자열과value 인 Object를 취한다는 것입니다. 이는 유효한 객체를 값으로 맵에 전달한 다음 JSON 객체로 변환 할 수 있음을 의미합니다.

다음은 문자열과Arraylist를 값으로 사용하는 예입니다.

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

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"]}

해시 맵을 JSON 객체로 변환하는 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"}

Hashmap을 JSON 객체로 변환하는 GSON 라이브러리

Gson 라이브러리는 해시 맵을 JSON 객체로 변환하는 데 가장 많이 사용되는 라이브러리 중 하나입니다. 그것은 우리의 해시 맵과 JSON에서 작업하는 쉬운 방법을 제공합니다.

Gson 클래스에는 맵을 JSON 트리로 변환하는toJsonTree 메소드가 있습니다. 하지만 JSON 객체가 필요하므로toJSONObject()를 사용하여 JSON 트리를 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"}
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java JSON

관련 문장 - Java Hashmap