fastjson中对象转换中看到的一些现象(代码片段)

沛沛老爹 沛沛老爹     2023-02-28     107

关键词:

引出的背景

 今天在用IDEA进行代码review的时候。发现有的小伙伴在代码上显示了一条波浪线。仔细一看代码如下:

JSON.parseObject(value, List.class)

这里使用了fastjson,但是这里一看就看的出来,使用的不是很流畅。

先讲讲fastjson

什么是fastjson

fastjson是阿里开源的一个json操作库。从名字就可以看出来。它支持json和java对象类型之间的互换操作。

fastjson中json转对象常用方法

fastjson中json转对象的常用类JSON 和JSON Array。

JSON类一般是针对单个对象转化的时候使用。

JSON中转化对象的常用方法有以下:

parse 和 parseObject

大部分都是重载方法,这里就不过细讨论了,有兴趣的可以看下源码。

JSONArray类一般针对的是List的常用方法是

parseArray

我们上面用的其实是需要转化为List的,这个时候,我们不应该使用JSON ,而是使用JSONArray。

所以正确的写法应该是

#DtoRequest是当前List<T>的对象
JSONArray.parseArray(value,  DtoRequest.class) 

总结

在使用第三方的jar包的时候,最好在使用的时候先看下对应的源码实现。这样使用起来就会好很多。

[java安全]fastjson学习(代码片段)

前言之前的文章的补充了,咕了半年再好好学学fastjson。初认fastjsonFastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。Fastjson可以操作任何Java对象,即使是一些预先存在... 查看详情

[java安全]fastjson学习(代码片段)

前言之前的文章的补充了,咕了半年再好好学学fastjson。初认fastjsonFastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。Fastjson可以操作任何Java对象,即使是一些预先存在... 查看详情

java对象数据与json对象数据之间的相互转换(fastjson)(代码片段)

...2、Jackson【根据场景使用】3.3、Gson【根据场景使用】3.4、FastJson【根据场景使用】4、FastJson常用的JSON格式转换4.1、测试案例4.2、将JSON格式的字符串转换为json对象4.3、将JSON字符串或者JSON对象转成Java对象4.4、将Java对象转换成JSON... 查看详情

fastjson中list和jsonarray的相互转换(代码片段)

1.fastjson中List和JSONArray的相互转换(1)List转换为JSONArrayList<T>list=newArrayList<T>();JSONArrayarray=JSONArray.parseArray(JSON.toJSONString(list));(2)JSONArray转换为ListJSONArrayarray 查看详情

一个简单的时间片轮转多道程序内核代码分析(学号后三位418)(代码片段)

...师在github上给出的步骤在实验楼上启动最高小内核,可以看到如下现象  在窗口中我们可以看到一个内核以及运行起来了,比较简单的内核,只时不停的输出一些字符串,>>>>>>my_time_handlerhere<<<<<<<... 查看详情

springboot中读取json文件信息并转换为map对象(代码片段)

SpringBoot中读取JSON文件信息并转换为Map对象需要引入的依赖<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.23</version></depen 查看详情

fastjson中怎么把java对象转化为json对象

写入以下代码即可实现:publicstaticvoidmain(String[]args) User_DALuserDal=newUser_DAL();//创建数据访问对象 ResponseResult<User>ret=userDal.getUserList("id<50",2,10);//查询ID小于50的用户,保存到分页类中 Stringjson=JSON.toJSONString(re... 查看详情

mapstruct官方参考文档中的一些使用规则(代码片段)

...中自定义转换方法引入依赖写转换接口测试官网将多个源对象的不同属性赋值给一个目标对象如果mapstruct放到了IOC容器里面,那么就不要实例化对象源对象中的对象属性怎么转化成目标对象中的对象属性?Mapstruct官方参... 查看详情

jackson替换fastjson的几个坑

参考技术A最近fastjson漏洞频出,于是公司要求将所有的应用fastjson引用都换成jackson。这期间改造了大量应用,踩出来的坑珠峰倒进去估计也填不满。首先是fastjson本身的一些小问题,由于其封装度很高,写起来比较偷懒。老应用... 查看详情

js中一些有趣的现象

1,js中关于函数提升(在ES5中)functionf(){console.log(‘Iamoutside!‘)}(function(){if(false){//重复声明一次函数当然在严格模式下是不允许在if,循环代码块中声明函数的functionf(){console.log("Iaminside!")}}f();})();//结果为Iaminside!因为在ES5中存在... 查看详情

[java安全]fastjson学习(代码片段)

前言开始学习fastjson,TemplatesImpl利用链让我跟的脑子疼,还是太菜了,断点打到后面整个人都是懵的。初认fastjsonFastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。Fa... 查看详情

[java安全]fastjson学习(代码片段)

前言开始学习fastjson,TemplatesImpl利用链让我跟的脑子疼,还是太菜了,断点打到后面整个人都是懵的。初认fastjsonFastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。Fa... 查看详情

fastjson转换自定义枚举类

...例如对象:importjava.util.Date;importjava.util.List;importcom.alibaba.fastjson.annotation.JSONField;publicclassProject{/****审核状态*/@JSONFie 查看详情

gson、fastjson、jackson、json-lib对比总结

...较:在项目选型的时候可以使用Google的Gson和阿里巴巴的FastJson两种并行使用,如果只是功能要求,没有性能要求,可以使用google的Gson,如果有性能上面的要求可以使用Gson将bean转换json确保数据的正确,使用FastJson将Json转换Bean2.1... 查看详情

springmvc@controller中转发或者重定向到其他页面的信息怎么携带和传递(servletapi对象)httpservletrequesthttpservletrespose(代码片(代码

目录ServletAPI对象(类似9大内置对象)支持的对象有:•HttpServletRequest、HttpServletResponse、HttpSession、完善登录跳转功能ServletAPI对象(类似9大内置对象)SpringMVC框架支持直接在控制器方法中绑定一些ServletAPI对象... 查看详情

fastjson1.2.24反序列化任意命令执行(代码片段)

FastjsonFastjson是一个Java库,可以将Java对象转换为JSON格式,当然它也可以将JSON字符串转换为Java对象。Fastjson可以操作任何Java对象,即使是一些预先存在的没有源码的对象。Fastjson源码地址:https://github.com/alibaba/fastj... 查看详情

测试一些led的反向击穿过程中的单光子现象(代码片段)

...SPAD效应之前没有注意过, 下面通过实验来观察手边一些LED反向击穿过程是否会出现单光子脉冲现象。▲图1.1.1普通LED不能够作为SPAD二、LED反向击穿1、红 查看详情

cephpgid转换计算(代码片段)

...确实会对chunk加锁,导致IO下发到该PG内部的该chunk相关的对象读写阻塞,直到操作完毕,恢复读写;pgid计算以下是pg关键日志:我们可以很清楚的看到pg:3.ad8在做deep-scub操作,但是在出现slowrequest日志中,只能找到异常的对象rbd_da... 查看详情