JSON转List

JSON转List在平时的开发中经常遇到,这里介绍两张方法:

1.使用jackson(推荐,支持嵌套复杂结构):

ObjectMapper mapper = new ObjectMapper();  
JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, MachineConnectResultVO.class);
List<MachineConnectResultVO> resMsg = new ArrayList<MachineConnectResultVO>();
try {resMsg =  (List<MachineConnectResultVO>)mapper.readValue(res, javaType);
} catch (IOException e) {e.printStackTrace();
}   

2.使用JsonArray:

JSONArray idsArr = JSONArray.fromObject(idStr);
List<DomainKeepOption> domainKeepOptionList = JSONArray.toList(idsArr, new DomainKeepOption(), new JsonConfig());

上面的XX.class可以是你自己定义的复杂VO,需要你提前按照JSON的格式构造好

public class MachineConnectResultVO {private String assetNum;private List<IpConnectVO> ips;getters and setters...
}
public class IpConnectVO {private String ip;private Boolean status;getter and setter...
}
public class DomainKeepOption {private Integer id;//域名idprivate Integer keepA;//1选中 0未选中private Integer keepHaiWai;//1选中 0未选中getter and setter...
}
有点要注意的是jsonArray这种形式不支持嵌套复杂类型的如上面的MachineConnectResultVO下又有IpConnectVO这个类型,jackson对这个支持的很好

而且jackson方法还可以用下面这个方式试下(没测试过),更加简洁明了

ObjectMapper mapper = new ObjectMapper();  
List<MachineConnectResultVO> aa = mapper.readValue(res, new TypeReference<List<MachineConnectResultVO>>() {});





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双击ie浏览器没反应打不开的解决方法

双击ie浏览器后没反应怎么办?双击ie浏览器打不开怎么解决?ie浏览器是众多网民朋友比较熟悉的网页浏览器之一&#xff0c;但是不少用户经常会遇到双击ie浏览器没反应或者双击ie浏览器打不开的尴尬情况&#xff0c;这个问题要如何解决呢?为此小编特整理下文&#xff0c;以下解…

ajax中return取不到值的问题

症状:机器迁移时判断JS返回取不到值分析 :调试发现data是有值的&#xff0c;而且下断点调试发现这段ajax还没走完&#xff0c;后面的逻辑已经开始走了错误所在:ajax之所以叫ajax它首先是异步的&#xff0c;顺序执行的程序不需要等待ajax跑完才继续执行 修改方案:将默认为true的…

UC浏览器如何调节手机屏幕亮度

uc浏览器是一个非常好用的社交服务软件&#xff0c;用户可以使用手机随时进行线上搜索&#xff0c;这款软件使用超级的方便&#xff0c;用户在线上阅读的时候&#xff0c;有很多功能可以使用&#xff0c;在进行线上阅读的时候&#xff0c;可以对页面的文字&#xff0c;背景&…

linux的nohup命令的用法

在应用Unix/Linux时&#xff0c;我们一般想让某个程序在后台运行&#xff0c;于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台&#xff1a; /usr/local/mysql/bin/mysqld_safe –usermysql &。可是有很多程序并不想mysqld一样&#xff0c;这…

谷歌浏览器如何添加信任网址 Chrome浏览器信任网址添加方法分享

和许多国产浏览器产品一样&#xff0c;谷歌旗下的Chrome浏览器中也可以将部分站点设置为信任网址&#xff0c;以便避免权限获取提示的“骚扰”。那么&#xff0c;谷歌浏览器要如何添加信任网址?不清楚具体操作的朋友&#xff0c;可以看看小编分享的Chrome浏览器信任网址添加方…

Websocket判断逻辑Bug

症状:灾备后台失败但前台提示成功分析 :下断点发现此时前端的data.obj为undifined&#xff0c;后台pyhon脚本执行报错了 错误所在:前台判断不应该加上undifined 修改方案:第一次修改如上&#xff0c;判断严谨多了&#xff0c;但是运行是前台报不能对undefined使用length分析 :…

QQ浏览器的历史记录在那 QQ浏览器查看浏览历史的方法

QQ浏览器是不少用户选择安装的一款实用性不错的浏览器&#xff0c;在使用这款浏览器的时候有不少功能注意不到&#xff0c;如QQ浏览器怎么查找历史记录等等&#xff0c;下面小编就带大家查看QQ浏览器的历史记录的步骤&#xff0c;帮助大家找回意外关闭或者未加保存到书签的网站…

SpringMVC深度探险 —— SpringMVC核心配置文件详解

在上一篇文章中&#xff0c;我们从DispatcherServlet谈起&#xff0c;最终为读者详细分析了SpringMVC的初始化主线的全部过程。整个初始化主线的研究&#xff0c;其实始终围绕着DispatcherServlet、WebApplicationContext和组件这三大元素之间的关系展开。 在文章写完之后&…

win7更改用户登录或注销方式的操作教程

我们可以通过更改用户登录或注销方式的办法保护我们的电脑不被其他人登录使用&#xff0c;如果有其他人要登录使用我们的电脑就会出现类似下图的提示&#xff0c;下面就一起来看一下win7更改用户登录或注销方式的操作教程吧。 win7更改用户登录或注销方式的操作教程 1、首先使…

Java下载文件的几种方式

public HttpServletResponse download(String path, HttpServletResponse response) {try {// path是指欲下载的文件的路径。File file new File(path);// 取得文件名。String filename file.getName();// 取得文件的后缀名。String ext filename.substring(filename.lastIn…

傲游浏览器如何设置缓存文件位置 浏览器缓存文件位置设置方法

鉴于许多浏览器产品都将缓存文件保存在了C盘&#xff0c;不少用户都会对其进行修改&#xff0c;毕竟C盘的文件过多也不是什么好事。那么&#xff0c;浏览器缓存文件位置要怎么设置呢?下面小编就以“傲游浏览器”为例&#xff0c;简单介绍一下浏览器缓存文件位置的设置方法。 …

JAVA多线程互斥同步例子

package com.imooc.concurrent.racecondition;/*** 宇宙的能量系统* 遵循能量守恒定律&#xff1a;* 能量不会凭空创生或消失&#xff0c;只会从一处转移到另一处*/ public class EnergySystem {//能量盒子&#xff0c;能量存贮的地方private final double[] energyBoxes;priva…

导出为Excel例子 java

前台&#xff1a; //getExcelXML有一个JSON对象的配置&#xff0c;配置项看了下只有title配置&#xff0c;为excel文档的标题 var data $(#dg).datagrid(getExcelXml, { title: datagrid import to excel }); //获取datagrid数据对应的excel需要的xml格式的内容 //组装form提…

edge浏览器下载位置设置

edge浏览器下载位置设置 edge浏览器下载位置怎么设置?很多Win10用户要求微软为Edge浏览器增加下载位置设置选项&#xff0c;今天小编就为大家带来更改Win10 Edge浏览器默认下载位置的三种方法&#xff0c;可通过下面的方法来实现&#xff1a; 方法一&#xff1a; 可通过软媒…

java中静态代码块的用法 static用法详解

&#xff08;一&#xff09;java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行…

QQ浏览噐怎么拍照识题 QQ浏览器拍照识题教程介绍说明

QQ浏览噐在最近推出了拍照识题的服务&#xff0c;有不少感兴趣的用户想知道应该怎么使用该功能。那么下面小编就为大家介绍了QQ浏览器拍照识题的方法&#xff0c;希望对你有所帮助。 QQ浏览器拍照识题的步骤&#xff1a; 1、现在进入了QQ浏览噐页面后&#xff0c;要是想使用拍…

mysql中int、bigint、smallint 和 tinyint的区别与长度的含义

bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据&#xff08;所有数字&#xff09;。存储大小为 8 个字节。 P.S. bigint已经有长度了&#xff0c;在mysql建表中的length&#xff0c;只是用于显示的位数 int 从 -2^31 (-2,147,483,648) 到…

谷歌浏览器怎么禁用flash flash禁用方法分享

频频曝出的安全漏洞&#xff0c;让flash的存在感越来越低&#xff0c;甚至曾有一个Flash安全漏洞被曝可用于向Windows PC传播勒索软件&#xff0c;许多公司和个人用户也因此选择禁用flash!那么&#xff0c;在谷歌浏览器中要怎么禁用flash呢?下面就让我们来了解一下。 方法步骤…

阿里RocketMQ Quick Start

RocketMQ单机支持1万以上的持久化队列&#xff0c;前提是足够的内存、硬盘空间&#xff0c;过期数据数据删除&#xff08;RocketMQ中的消息队列长度不是无限的&#xff0c;只是足够大的内存数据定时删除&#xff09; RocketMQ版本&#xff1a;3.1.4 一&#xff0c;部署NameServ…

世界之窗浏览器怎么隐藏收藏栏

想必大家都知道&#xff0c;无论是什么浏览器&#xff0c;默认都是会显示收藏栏的&#xff0c;这样用户就可以快速打开收藏栏中收藏的网页&#xff0c;但很多时候有些用户会收藏一些不想被人看到的网页&#xff0c;这时候最好的方法就是将收藏栏隐藏起来了。那么&#xff0c;世…