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>();
재귀 변환
변환 프로세스에는 JSON 개체를 재귀적으로 순회하는 작업이 포함됩니다. 중첩된 구조도 변환합니다. 다음 코드 조각은 재귀 변환 방법을 간략하게 설명합니다.
public static MapjsonToMap(JSONObject json) throws JSONException { Map<String, Object> retMap = new HashMap<String, Object>(); if(json != JSONObject.NULL) { retMap = toMap(json); } return retMap; } public static Map toMap(JSONObject object) throws JSONException { Map map = new HashMap (); Iterator 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
이 코드는 JSON 개체를 재귀적으로 순회하고 배열 및 개체와 같은 중첩 구조를 처리하여 최종 HashMap에 JSON 문자열의 모든 데이터가 포함되도록 합니다. .
Jackson 사용하기 라이브러리
또는 Jackson 라이브러리를 활용하여 JSON 문자열을 HashMap으로 변환할 수 있습니다. 이는 다음 코드를 사용하여 수행할 수 있습니다:
import com.fasterxml.jackson.databind.ObjectMapper; Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
위 내용은 org.json 라이브러리를 사용하여 JSON 문자열을 Java의 HashMap으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!