Java에서 JSON을 맵으로 변환하는 방법

Rupam Yadav 2023년10월12일
  1. Java에서JSONMap으로 변환하는Jackson 라이브러리
  2. Java에서JSONMap으로 변환하는GSON 라이브러리
Java에서 JSON을 맵으로 변환하는 방법

Java에서 기존 JSON을 Map으로 변환하는 방법을 소개합니다. JSON은 데이터를 구조화하는 데 자주 사용되지만 때로는 JSON 값을 다른 데이터 유형으로 가져온 다음 작업해야합니다.

Java에서 JSON과 함께 작동하도록 여러 라이브러리가 생성됩니다. 많은 JSON 작업을 수행 할 수 있도록 가장 많이 사용되는 두 가지 JSON 구문 분석 라이브러리를 볼 수 있습니다.

아래는 더 나은 이해를 위해이 튜토리얼에서 작업 할 JSON입니다.

{
  "login" :
  {
    "userName" : "John Doe",
    "email" : "johndoe@john.com"
  }
}

Java에서JSONMap으로 변환하는Jackson 라이브러리

Jackson라이브러리의 메서드와 클래스가 상속 될 수 있도록 프로젝트에 아래 종속성을 포함해야합니다.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.11.2</version>
    <scope>compile</scope>
</dependency>

종속성을 추가 한 후 먼저FileInputStream()메서드를 사용하여 로컬 JSON 파일을 가져옵니다.

JSONMap으로 변환하려면Jackson 라이브러리에서ObjectMapper().readValue()를 호출해야합니다. readValue(JSON, ClassType)함수는 JSON 형식을 지정하려는JSONClassType의 두 인수를 사용합니다. JSONMap 형식으로 변환하고 싶으므로Hashmap.class를 사용합니다.

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;

public class Main {
  public static void main(String[] args) throws IOException {
    InputStream getLocalJsonFile = new FileInputStream("/sample.json");

    HashMap<String, Object> jsonMap = new ObjectMapper().readValue(getLocalJsonFile, HashMap.class);
    System.out.println(jsonMap);
  }
}

출력:

{login={userName=John Doe, email=johndoe@john.com}}

Java에서JSONMap으로 변환하는GSON 라이브러리

먼저 애플리케이션에 모든 GSON 메서드와 클래스를 포함하도록 프로젝트의 종속성을 포함해야합니다.

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>

GSON은 널리 사용되는 JSON 라이브러리로 파싱하여 Java Map으로 변환합니다.

Gson().fromJson(json, type)에는 두 개의 인수가 필요합니다. 그 중 하나는new JsonReader(new FileReader(jsonFilePath))를 사용하여 얻을 수있는 JSON 파일이고 두 번째 인수는 원하는 유형입니다. 변환 할 JSON입니다.

아래 예를 확인하십시오.

import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Map;

public class Main {
  public static void main(String[] args) throws IOException {
    JsonReader getLocalJsonFile = new JsonReader(new FileReader("/sample.json"));

    Type mapTokenType = new TypeToken<Map<String, Map>>() {}.getType();

    Map<String, String[]> jsonMap = new Gson().fromJson(getLocalJsonFile, mapTokenType);

    System.out.println(jsonMap);
  }
}

출력:

{login={userName=John Doe, email=johndoe@john.com}}
작가: 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 Map