JSON 문자열을 Java에서 HashMap으로 변환
JSON 형식의 데이터로 작업할 때 HashMap으로 변환하는 것이 유용한 방법이 될 수 있습니다. 정보를 저장하고 액세스합니다. org.json 라이브러리를 사용하여 이 변환을 수행할 수 있는 방법은 다음과 같습니다.
org.json 라이브러리 사용
재귀적 예
다음 코드는 중첩된 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 < array.length(); i++) { Object value = array.get(i); if(value instanceof JSONArray) { value = toList((JSONArray) value); } else if(value instanceof JSONObject) { value = toMap((JSONObject) value); } list.add(value); } return list; }
Jackson 라이브러리 사용
원하는 경우 JSON 구문 분석을 위해 Jackson 라이브러리를 사용할 수도 있습니다. 이 접근 방식은 더 간결하고 더 적은 단계가 필요합니다.
import com.fasterxml.jackson.databind.ObjectMapper; Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
위 내용은 org.json 및 Jackson 라이브러리를 사용하여 JSON 문자열을 Java의 HashMap으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!