如何遍历 Complex JSON 并放入 Map 中?

How to Traverse Complex JSON and put into a Map?

我试了几天才完成。但不能。

我想要的是遍历任何给定的 JSON 并将键值对放入映射中。作为示例考虑这个 JSON

 String test = {
   "RechargeRequest":{
      "RechargeSerialNo":"2645",
      "RechargeChannelID":"3",
      "RechargeObj":{
         "SubAccessCode":{
            "PrimaryIdentity":"763500001"
         }
      },
      "RechargeInfo":{
         "CashPayment":[
            {
               "Amount":"30"
            }
         ]
      }
   }
}

到目前为止我尝试了什么

JSONObject jsonObj = new JSONObject(test);
    Iterator<String> keys = jsonObj.keys();
    Map<String,String> map = new HashMap<>();
    while(keys.hasNext()) {
        String key = keys.next();
        if (jsonObj.get(key) instanceof JSONObject) {

        }else if(jsonObj.get(key) instanceof  JSONArray){

        }else{

        }
    }

地图值应该类似于 ("RechargeChannelID","3") ("Amount":"30")

有人可以帮我吗?

谢谢,

如果我理解正确,您想将 json 文件展平为一个级别,然后将其映射到键值对,请检查下面的 link: How to deserialize JSON into flat, Map-like structure?