Java에서 JSON을 맵으로 변환하는 방법
Java에서 기존 JSON을 Map으로 변환하는 방법을 소개합니다. JSON은 데이터를 구조화하는 데 자주 사용되지만 때로는 JSON 값을 다른 데이터 유형으로 가져온 다음 작업해야합니다.
Java에서 JSON과 함께 작동하도록 여러 라이브러리가 생성됩니다. 많은 JSON 작업을 수행 할 수 있도록 가장 많이 사용되는 두 가지 JSON 구문 분석 라이브러리를 볼 수 있습니다.
아래는 더 나은 이해를 위해이 튜토리얼에서 작업 할 JSON입니다.
{
"login" :
{
"userName" : "John Doe",
"email" : "johndoe@john.com"
}
}
Java에서JSON
을Map
으로 변환하는Jackson
라이브러리
Jackson
라이브러리의 메서드와 클래스가 상속 될 수 있도록 프로젝트에 아래 종속성을 포함해야합니다.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
<scope>compile</scope>
</dependency>
종속성을 추가 한 후 먼저FileInputStream()
메서드를 사용하여 로컬 JSON 파일을 가져옵니다.
JSON
을Map
으로 변환하려면Jackson
라이브러리에서ObjectMapper().readValue()
를 호출해야합니다. readValue(JSON, ClassType)
함수는 JSON 형식을 지정하려는JSON
과ClassType
의 두 인수를 사용합니다. JSON
을Map
형식으로 변환하고 싶으므로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에서JSON
을Map
으로 변환하는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 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에서 JSON 데이터 예쁘게 인쇄하기
- Java에서 JSON 데이터를 문자열로 변환
- Java에서 JSON 역직렬화
- Java에서 객체를 JSON으로 직렬화
- Java에서 JSON 배열 다루기
- Java에서 XML을 JSON으로 변환