alibabaFastJson之json转指定List
发表于|更新于
|浏览量:
有一种健忘是高贵的,就是不记旧恶。——赛蒙兹
之前写了篇fastjson基本使用,这两天遇到一个意料之外的
需要把一个json的数组对象,转换成指定的List<User>
转换方式很简单
{“code”:200,”userList”:[{“password”:”achao”,”username”:”ruben”}],”data”:”操作成功!”,”list”:[“你好”,”加油”],”success”:true}
1 | JSONObject jsonObject = JSON.parseObject(jsonString); |
打印结果

相关推荐
2022-01-18
子线程中获取request
在这个世界上,一切都预先被谅解了,一切也就被卑鄙地许可了。——《不能承受的生命之轻》 写一个接口,用于测试: 123456789101112131415161718192021222324252627import cn.hutool.core.thread.AsyncUtil;import javax.annotation.Resource;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;import java.util.concurrent.CompletableFuture;@RestController@RequestMapping("test")public class TestController { @Resource private HttpServletRequest request; @GetMapping("request") public String ...
2021-07-20
接口能玩的小花招
一个人的礼貌是一面照出他的肖像的镜子。——歌德 首先写一个函数式接口 12345678910@FunctionalInterfacepublic interface Person { /** * 睡 * * @author <achao1441470436@gmail.com> * @since 2021/7/20 0020 23:20 */ void sleep();} 我们能通过调用其中的sleep方法执行函数(方法) 123 Person person = () -> System.out.println("睡"); person.sleep();// 执行结果:睡 而执行的函数则是我们接口本身,这个函数式接口就代表了一个函数 函数式接口 其实就可以理解为 函数、方法本身 但我们今天主要聊的不是这个 我们在函数中定义的变量默认就是常量 1234567891011121314@FunctionalInterfacepublic interf...
2022-06-04
quartz连接池问题
心脏是一座有两间卧室的房子,一间住着痛苦,另一间住着欢乐,人不能笑得太响。否则笑声会吵醒隔壁房间的痛苦。——卡夫卡 之前写了篇quartz博客:https://VampireAchao.github.io/2021/01/24/quartz/ 这两天通过druid监控发现一些连接一直没有释放,以为是出现了链接池泄露 最后排查发现,quartz没有使用druid的连接池,因此导致连接池经常满 把这段配置注掉即可
2021-08-17
fastjson全局序列化坑
偌大的城市,绵延无尽,并非是我眼见的让我停住了脚步,而是我所看不见的。——《海上钢琴师》 今天遇到这样一个问题:序列化出现了与预期不一致的效果,重现代码很简单,就返回一个list,包含几个对象 12345@GetMappingpublic Result testQueryParam(CommonDTO commonDTO) { final UserDetail userDetail = UserDetail.builder().build(); return Result.ok().data(Arrays.asList(userDetail, userDetail, userDetail));} 但可以看到我这里第一条数据是正确的,第二条开始就变成了{$ref: "$.data[0]"} 这是因为我们在使用fastjson作为mvc全局序列化框架的时候 在fastjson中,会自动检测循环引用,并且输出为fastjson专有的引用表示格式。但这个不能被其他JSON库识别,也不能被浏览器识别,所以fastjson提供了关...
2024-01-03
open-feign设置全局header
求学犹植树,春天开花朵,秋天结果实。——爱因斯坦 代码如下: 1234567891011121314import feign.RequestInterceptor;import feign.RequestTemplate;@Componentpublic class CustomRequestInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate template) { // 添加全局Header template.header("Global-Header-Name", "Global-Header-Value"); // 例如,如果您需要添加一个认证令牌,可以这样做: // template.header("Authorization", "Bearer " + authT...
2020-06-07
HashMap
HashMap是由数组和链表组合构成的数据结构。 大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java1.7叫Entry,在Java1.8中叫Node。 因为它本身所有位置都为null,在put插入的时候会根据key的hash去计算一个index值。 就比如我put(”rubenwei”,666),我插入了为”rubenwei”的元素,这个时候我们会通过哈希函数计算出插入的位置,如果计算出来index是2,那就放在第三个位置 但我们知道数组长度是有限的,在有限的长度里面我们使用哈希,哈希本身就存在概率性,就是”rubenwei”和“ruben”我们都去hash有一定的概率计算出来的hashcode是重复的,这时候如果put“ruben”就会在当前entry节点下形成一个链表用于存放hashcode一样的这些元素 每一个节点都会保存自身的hash、key、value以及(next)下个节点 java8之前采用头插法,原有的值顺推到链表中去,新来的值变成链表表头,是因为代码作者认为新来的值会被查找的可能性大一点,为了提升查找的效率设计的 java8之后改用尾插法,...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog