java - 如何遍历复杂的 JSON 并将其放入 Map 中?

标签 java json tree-traversal

我花了几天时间才完成这件事。但不能。

我想要的是遍历任何给定的 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{

        }
    }

map 值应类似于 ("RechargeChannelID","3") (“金额”:“30”)

有人可以帮我吗?

谢谢

最佳答案

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

关于java - 如何遍历复杂的 JSON 并将其放入 Map 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59302887/

相关文章:

java - Hibernate 如何处理 NativeSQL 调用的缓存?

javascript - 什么 "isChromeWebToolbarDiv"?

PHP 在 json 数组中搜索

Python:超出最大递归深度

SQL 树向下遍历到根并备份一个

java - jetty :HTTP 错误:503/服务不可用

java - 双循环链表

java - 应用程序在设备上停止(无终端错误)- 不显示 ListView

javascript - 在 TypeScript 和 Angular2 中将部分返回的 json 数据分配给数组

c# - C#中如何使用prim算法遍历矩形数组中的单元格