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


相关推荐

  • activity多实例节点任意跳转[通俗易懂]

    activity多实例节点任意跳转[通俗易懂]前言上一篇我们简单演示了单实例节点跳转的过程,在实际业务场景中,多实例节点的跳转也是一种常见的跳转场景,举例来说,当前的节点配置的是会签,即多个实例任务的节点,需要从当前节点跳出去该怎么办呢?或者说从某一个单实例节点再跳入到多实例节点,又该如何实现呢?activity对于这样的场景也提供了解决方案问题解决思路想必还记得我们在之前的篇章中谈到的那个流程实例跳转过程中的3级实例树吧?以多实例节点跳出为例需要的参数,任务ID、目标节点判断当前的节点是否是多实例任务节点获取二级执行实例信息删除二级实

    2022年5月21日
    88
  • BigDecimal加减乘除运算(转)[通俗易懂]

    BigDecimal加减乘除运算(转)[通俗易懂]java.math.BigDecimal。BigDecimal一共有4个够造方法,让我先来看看其中的两种用法:第一种:BigDecimal(doubleval)TranslatesadoubleintoaBigDecimal.第二种:BigDecimal(Stringval)Transla…

    2022年6月2日
    39
  • 用量子纠缠同步你的大脑?阿里云疑似发明量子智能!「建议收藏」

    用量子纠缠同步你的大脑?阿里云疑似发明量子智能!

    2022年4月2日
    42
  • iOS的高德地图标注特定位置

    iOS的高德地图标注特定位置在开发时有时候遇到项目里面需要展示公司的位置,这时如果导入百度地图什么的就太浪费资源,而且还占内存这时只要调用自动高德地图的就行了自己写一个控制器,导入框架现在导入系统框架只要多打次就能出来了,没必要去link添加1#import”MapViewCtl.h”2#import<CoreLocation/CoreLocation.h>3#impo…

    2022年5月21日
    54
  • 鼠标双击响应的实现「建议收藏」

    鼠标双击响应的实现「建议收藏」今天在实现鼠标双击响应的时候,遇到了一些问题,下面是对我很有帮助的解释:首先对鼠标双击事件原理做一个简单的了解:在Windows平台上,鼠标左键的按下、松开、快速的两次点击会产生WM_LBUTTONDOWN、WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作,是两次独立的单击,还是一次双击呢?最近在解决一个问题时,通过使用…

    2022年9月25日
    0
  • 原码,补码,二进制减法计算_二进制的原码和补码

    原码,补码,二进制减法计算_二进制的原码和补码这篇博客从一道题说起,已知x = (1&lt;&lt;31)-3,求x&amp;-x?这里面考察了二进制的减法,减法也就牵涉了原码补码的一些概念。这里进行下梳理。 一。原码,补码概念1.原码就是早期用来表示数字的一种方式。一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码例如:假设机器是32位系统,in…

    2022年9月25日
    0

发表回复

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

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