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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm缩进设置_wps首行缩进快捷键

    pycharm缩进设置_wps首行缩进快捷键1、pycharm使多行代码同时缩进鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的…

    2022年8月25日
    8
  • Ubuntu18.04显卡驱动及CUDA卸载

    Ubuntu18.04显卡驱动及CUDA卸载背景故事上文提到显卡驱动和CUDA的安装,你们真的因为一切这么流畅么?当然不是,不然我也不会说是“踩坑”之旅了,因为驱动下错了,就搞了半天,这里记录一下如何卸载驱动和CUDA。卸载步骤卸载显卡驱动$sudoapt-get–purgeremovenvidia*$sudoaptautoremove卸载CUDA$sudoapt-get–purgeremove”*cublas*””cuda*”OK完成,可以重装了。ps.此时重启可能导致图形操作界面无法打开。

    2025年9月17日
    6
  • MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)[通俗易懂]

    MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)[通俗易懂]目录MQTT(一)C#使用MQTTnet快速实现MQTT通信(文末有完整Demo下载)MQTT(二)在windows64位上安装Python环境MQTT(三)Python客户端+net客户端+net服务端简单通信MQTT(四)树莓派开机自动运行Python客户端MQTT(五)EMQ开源MQTT消息服务器1什么是MQTT?MQTT(MessageQue…

    2022年6月25日
    290
  • idea删除项目「建议收藏」

    idea删除项目「建议收藏」1.使用IDEA打开需要删除的项目,在项目文件上右击选择RemoveModule或者按Delete键2.之后会弹出删除提示,“RemoveModule‘xxx’fromtheproject?Nofileswillbedeleted.” 意思是移除指定模块,但没有文件被删除,就是说,模块移除了,磁盘上的文件还在点击“OK”之后,可以看到列表中还是存在些文件,这些文件是模…

    2025年6月12日
    18
  • python attrs_一直比较疑惑python中关于attrs的问题

    python attrs_一直比较疑惑python中关于attrs的问题今天看一个爬虫代码的时候遇到如下代码:links=getLinks(“/wiki/Python_(programming_language)”)print(links)while(len(links)>0):forlinkinlinks:print(“——————-“)historyIPs=getHistoryIPs(link.attrs[“href…

    2022年10月17日
    2
  • PHP与EXCEL PHPExcel

    PHP与EXCEL PHPExcel

    2022年1月10日
    44

发表回复

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

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