java:利用fastjson判断一个类型(flect.Type)。。。

更新时间:2023-07-25 11:47:52 阅读: 评论:0

java:利⽤fastjson判断⼀个类型(flect.Type)。。。
明天的英语fastjson中JSON(Object javaObject)⽅法将⼀个java对象被序列化成json对象时,返回的对象类型有三种可
做风筝的过程能:JSONObject,JSONArray,原始类型(简单类型)。
强迫症能治好吗最近在使⽤fastjson进⾏对java对象序列化和反序列化时,遇到⼀个问题:
层见叠出需要判断⼀个类型(flect.Type)是否为⼀个java bean(这⾥所说的java bean并⾮完全符合JavaBean规范的类型,只要不是简单类型、Map、Collection、Array,能被fastjson序列化为JSONObject对象⽽不是JSONArray或简单类型就算),如果要⾃⼰实现这个代码还是挺复杂的,需要⼀⼤堆的类型判断。
研究了fastjson的代码之后,发现它也有这个判断需求(实现代码近200⾏,好复杂)。在fastjson的基础上实现这个判断就很⽅便了。
原理很简单 ,com.alibaba.fastjson.parr.ParrConfig类中有⼀个getDerializer(Type)⽅法⽤于根据Type返回相应的反序列化器(Derializer),如果返回的对象类型是JavaBeanDerializer,这个Type肯定是个java bean对象。
待人接物
如下代码:
import flect.Type;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parr.ParrConfig;
import com.alibaba.fastjson.parr.derializer.JavaBeanDerializer;
public class TypeUtils{
public static final boolean isJavaBean(Type type){
if(null == type )
可使足民throw new NullPointerException();
// 根据 getDerializer 返回值类型判断是否为 java bean 类型孕妇可以吃肉松吗
return Derializer(type) instanceof JavaBeanDerializer;
}
}
小标题格式

本文发布于:2023-07-25 11:47:52,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1096003.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   判断   对象   序列化   代码   实现   返回
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图