JavaでJSONObjectをMapに変換する方法は何ですか。

JSONObjectをMapに変換するには、次の方法を使用できます:

import org.json.JSONObject;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject("{\"name\":\"John\", \"age\":30}");

        Map<String, Object> map = jsonToMap(jsonObject);

        System.out.println(map);
    }

    private static Map<String, Object> jsonToMap(JSONObject jsonObject) {
        Map<String, Object> map = new HashMap<>();

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

            if (value instanceof JSONObject) {
                value = jsonToMap((JSONObject) value);
            }

            map.put(key, value);
        }

        return map;
    }
}

上記のコードでは、最初にJSONObjectオブジェクトを作成し、jsonToMapメソッドを呼び出してMapに変換します。 jsonToMapメソッドは、JSONObjectをMapに変換する際に再帰的に使用され、JSONObject内の値がJSONObjectである場合、jsonToMapメソッドを再帰的に呼び出します。最終的に変換されたMapを出力します。

結果は{name=John, age=30}です。

bannerAds