찾다
Javajava지도 시간org.json 라이브러리를 사용하여 JSON 문자열을 Java의 HashMap으로 변환하는 방법은 무엇입니까?

How to Convert JSON Strings to HashMaps in Java Using the org.json Library?

org.json 라이브러리를 사용하여 JSON 문자열을 Java에서 HashMap으로 변환

Java에서 JSON 데이터로 작업할 때 일반적인 작업은 다음과 같습니다. 데이터 조작 및 저장을 용이하게 하기 위해 JSON 문자열을 HashMap으로 변환합니다. 이 문서에서는 org.json 라이브러리를 사용하여 이 변환을 수행하는 방법에 대한 자세한 설명을 제공합니다.

JSON 구조

다음 JSON 문자열을 고려하세요.

{
"name" : "abc",
"email id" : ["[email protected]", "[email protected]", "[email protected]"]
}

목표는 이 JSON 문자열을 속성 이름과 일치하는 키와 각각의 값에 해당하는 HashMap으로 변환하는 것입니다. 값.

HashMap 초기화

먼저 HashMap을 초기화하여 변환된 데이터를 저장합니다.

Map<string object> retMap = new HashMap<string object>();</string></string>

재귀 변환

변환 프로세스에는 JSON 개체를 재귀적으로 순회하는 작업이 포함됩니다. 중첩된 구조도 변환합니다. 다음 코드 조각은 재귀 변환 방법을 간략하게 설명합니다.

public static Map<string object> jsonToMap(JSONObject json) throws JSONException {
    Map<string object> retMap = new HashMap<string object>();

    if(json != JSONObject.NULL) {
        retMap = toMap(json);
    }
    return retMap;
}

public static Map<string object> toMap(JSONObject object) throws JSONException {
    Map<string object> map = new HashMap<string object>();

    Iterator<string> keysItr = object.keys();
    while(keysItr.hasNext()) {
        String key = keysItr.next();
        Object value = object.get(key);

        if(value instanceof JSONArray) {
            value = toList((JSONArray) value);
        }

        else if(value instanceof JSONObject) {
            value = toMap((JSONObject) value);
        }
        map.put(key, value);
    }
    return map;
}

public static List<object> toList(JSONArray array) throws JSONException {
    List<object> list = new ArrayList<object>();
    for(int i = 0; i <p>이 코드는 JSON 개체를 재귀적으로 순회하고 배열 및 개체와 같은 중첩 구조를 처리하여 최종 HashMap에 JSON 문자열의 모든 데이터가 포함되도록 합니다. .</p>
<p><strong>Jackson 사용하기 라이브러리</strong></p>
<p>또는 Jackson 라이브러리를 활용하여 JSON 문자열을 HashMap으로 변환할 수 있습니다. 이는 다음 코드를 사용하여 수행할 수 있습니다:</p>
<pre class="brush:php;toolbar:false">import com.fasterxml.jackson.databind.ObjectMapper;

Map<string object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);</string>

위 내용은 org.json 라이브러리를 사용하여 JSON 문자열을 Java의 HashMap으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Spring Boot Child 스레드는 메인 스레드의 정보를 어떻게 요청합니까?Spring Boot Child 스레드는 메인 스레드의 정보를 어떻게 요청합니까?Apr 19, 2025 pm 06:03 PM

SpringBoot Child Thread는 봄에 기본 스레드 요청 정보 솔루션에 액세스 할 수 없습니다 ...

Java 단일 스레드에서 지침의 재정렬이 System.out.println의 출력 순서에 영향을 미칩니 까?Java 단일 스레드에서 지침의 재정렬이 System.out.println의 출력 순서에 영향을 미칩니 까?Apr 19, 2025 pm 06:00 PM

Java 프로그래밍에서 Java 단일 스레드에서 지시 재정의 및 출력 순서, 명령 재정 주문은 프로그램의 실행 효율을 향상시키는 데 사용되는 일반적인 최적화 기술입니다 ...

Intellij Idea는 Javaagent 기술을 통해 Spring Boot 프로젝트의 포트 번호를 어떻게 식별합니까?Intellij Idea는 Javaagent 기술을 통해 Spring Boot 프로젝트의 포트 번호를 어떻게 식별합니까?Apr 19, 2025 pm 05:57 PM

Intellijidea는 SpringBoot 프로젝트의 포트 번호를 어떻게 인식합니까? IntellijideAultimate 버전을 사용할 때 봄을 시작합니다 ...

OAUTH2.0의 범위 메커니즘을 통해 Access_Token 인터페이스 액세스 권한을 미세하게 제어하는 ​​방법은 무엇입니까?OAUTH2.0의 범위 메커니즘을 통해 Access_Token 인터페이스 액세스 권한을 미세하게 제어하는 ​​방법은 무엇입니까?Apr 19, 2025 pm 05:54 PM

OAUTH2.0에서 Access_Token을 통해 인터페이스 액세스 권한을 미세하게 제어하는 ​​방법? 현대 응용 프로그램 개발에서 OAUTH2.0 ...

Ruoyi 프레임 워크는 DataSource 구현 클래스를 명시 적으로 작성하지 않고 Bean Dependency Injection을 어떻게 구현합니까?Ruoyi 프레임 워크는 DataSource 구현 클래스를 명시 적으로 작성하지 않고 Bean Dependency Injection을 어떻게 구현합니까?Apr 19, 2025 pm 05:51 PM

Ruoyi 프레임 워크의 Bean 의존성 주입 메커니즘에 대한 심층 분석 : Ruoyi 프레임 워크를 명시 적으로 구현할 필요가 없습니다. Ruoyi 프레임 워크는 간결한 코드로 인기있는 Java 프론트 엔드 및 백엔드 분리 프레임 워크입니다 ...

배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?Apr 19, 2025 pm 05:48 PM

배치 쿼리에 RedistemPlate을 사용할 때 반환 값이 비어있는 이유는 비어 있고 솔루션은 SpringData를 사용하는 것입니다.

Java의 한 맵에서 다른 유형의 키를 사용하는 방법은 무엇입니까?Java의 한 맵에서 다른 유형의 키를 사용하는 방법은 무엇입니까?Apr 19, 2025 pm 05:45 PM

Java 프로그래밍에서 Java의 동일한 맵에서 다양한 유형의 키를 사용하는 방법은 종종 MAP 데이터 구조를 사용하여 키 값 쌍을 저장합니다. 그러나 ...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.