java - 如何遍历复杂的 JSON 并放入 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 文件扁平化为一层,然后将其映射到键和值对,请查看以下链接: 如何将 JSON 反序列化为扁平的、类似 Map 的结构?
推荐阅读
- sybase - 使用 BCP 将数据导入 sybase 表失败并出现溢出错误
- c# - 多次导入同一个DLL库,动态DllImport注解
- python - 如何从列表中选择多个元素?
- python - 优雅地处理可变数量的输入和输出文件
- html - 使flexbox从左到右添加元素(包装时与上面的项目对齐)
- r - RMarkdown 和插入闪亮的应用程序
- php - 如何在 Laravel Voyager 中过滤关系结果?
- java - java - 如何在java中显示所有闰年B / W两年(最终用户应输入年份)
- python - 返回列表中最常见元素的更有效方法
- sql - 如何获得日期 + 时间的确定性计算值