jsonObject转map_java 对象转map

jsonObject转map_java 对象转map直接上代码,实现了对嵌套的对象进行转换。privateMap<String,Object>toMap(JSONObjectobject){Map<String,Object>map=newHashMap<String,Object>();Objectvalue;Stringkey;for(Iterator<?&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

直接上代码,实现了对嵌套的对象进行转换。

private Map<String, Object> toMap(JSONObject object) {

Map<String, Object> map = new HashMap<String, Object>();
Object value;
String key;
for (Iterator<?> it = object.keys(); it.hasNext() ; ) {

key = (String) it.next();
if (object.isNull(key)) {

map.put(key, null);
} else {

try {

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);
} catch (JSONException e) {

logger.debug(e.getMessage(), e);
}
}
}
return map;
}

private List toList(JSONArray array) {

List list = new ArrayList();
Object value;
for (int i = 0; i < array.length(); i++) {

try {

value = array.get(i);
if (value instanceof JSONArray) {

value = toList((JSONArray) value);
} else if (value instanceof JSONObject) {

value = toMap((JSONObject) value);
}
list.add(value);
} catch (JSONException e) {

logger.debug(e.getMessage(), e);
}
}
return list;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172463.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《开源安全运维平台-OSSIM最佳实践》已经上市

    《开源安全运维平台-OSSIM最佳实践》已经上市经多年潜心研究开源技术,历时三年创作的《开源安全运维平台OSSIM最佳实践》一书即将出版。该书用100多万字记录了作者10多年的OSSIM研究应用成果,重点展示了开源安全管理平台OSSIM在大型企业网运维管理中的实践。国内目前也有各式各样的运维系统,经过笔者对比分析得出这些工具无论在功能上、性能上还是在安全和稳定性易用性上都无法跟OSSIM系统想媲美,而且很多国内的开源安全运维项目在发布几年后就逐步淡出了舞台,而OSSIM持续发展了十多年。

    2025年7月26日
    5
  • fasterrcnn详解_faster RCNN

    fasterrcnn详解_faster RCNNpaper:FasterR-CNN:TowardsReal-TimeObjectDetectionwithRegionProposalNetworks前言fasterrcnn是何凯明等大神在2015年提出目标检测算法,该算法在2015年的ILSVRV和COCO竞赛中获得多项第一。该算法在fastrcnn基础上提出了RPN候选框生成算法,使得目标检测速度大大提高。RCN…

    2022年10月5日
    0
  • Install Orace 11g on Solaris 10 Sparc 64 bit

    Install Orace 11g on Solaris 10 Sparc 64 bit

    2022年1月5日
    63
  • 《欲罢不能:刷屏时代如何摆脱行为上瘾》书摘

    《欲罢不能:刷屏时代如何摆脱行为上瘾》书摘!!!此书大大提高我对这个信息时代的认知,也理解了为什么过去对一些事情那么沉迷。一开始书讲一些物质上瘾,确实不太好看,但是往下看你会感到惊讶。这个信息时代给了我们这代人,太多了获得感,并非获得。这是我最大的感受。然后。具体讲什么内容,谁看谁知道。

    2022年6月23日
    21
  • 有序map和无序map_map怎么实现有序

    有序map和无序map_map怎么实现有序【业务】JS中的有序Map与无序Object

    2022年9月15日
    2
  • 如何启用计算机双通道内存的方法,内存条怎么插 组建内存双通道正确插法教程…

    如何启用计算机双通道内存的方法,内存条怎么插 组建内存双通道正确插法教程…当我们安装或升级内存时,发现主板上有四个内存插槽,所以不知道该插入哪个内存插槽。事实上,理论上,任何一个内存插槽都可以正常使用。但是如果随意插上,未必能搭建双通道,搭建双通道也是有讲究的。那么双通道内存是什么意思呢?怎么安装?下面,安装者之家将为大家普及双通道内存的知识,并附上正确插入双通道内存的教程。希望这篇文章能对大家有所帮助。设置内存双通道插入教程一、双通道内存是什么意思?有什么好处?我们知…

    2022年6月23日
    88

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号