文档章节

fastjson问题汇总

菜蚜
 菜蚜
发布于 2015/06/15 10:22
字数 193
阅读 44
收藏 0
点赞 0
评论 0

1、返回json有部分数据有bug,转换json异常$ref,如:“奶粉” || 已解决 // 解决循环引用,对应的配置见spring-web.xml

解决方式1:

JSONObject.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);

解决方式2:

<bean id="fastJsonHttpMessageConverter"
        class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
        <property name="features">
            <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
                <value>DisableCircularReferenceDetect</value>
            </array>
        </property>
    </bean>
    <bean id="DisableCircularReferenceDetect" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
        <property name="staticField" value="com.alibaba.fastjson.serializer.SerializerFeature.DisableCircularReferenceDetect"></property>
    </bean>

2、fastjson对于float、double类型的数字精度丢失的问题

com.alibaba.fastjson.serializer.DoubleSerializer#write 有这么一段:

doubleText = Double.toString(doubleValue);
                if (doubleText.endsWith(".0")) {
                    doubleText = doubleText.substring(0, doubleText.length() - 2);
                }

对于float类型也是一样,com.alibaba.fastjson.serializer.FloatCodec#write

解决方案:

、重写序列化器;

、添加ValueFilter:

ValueFilter filter = new ValueFilter() {
            @Override
            public Object process(Object object, String name, Object value) {
                if (value instanceof BigDecimal || value instanceof Double || value instanceof Float) {
                    return new BigDecimal(value.toString());
                }
                return value;
            }
        };

 

© 著作权归作者所有

共有 人打赏支持
菜蚜
粉丝 22
博文 73
码字总数 32859
作品 0
杭州
程序员
使用webmagic遇到的问题及解决办法

感谢黄大写的垂直爬虫框架webmagic,简化了我的工作,少些了很多代码.这里对使用过程中遇到的问题,已经如何解决的,做一些汇总和梳理,希望能对别人有一定的帮助,若有错误,请指出,俺改正. 编程环...

简单同学
2014/01/13
4.2K
7
fastjson解析List类型数据在JDK7环境下报错

@wenshao 你好,想跟你请教个问题: fastjson解析List类型数据在JDK7环境下报错。errorMessage如下: Exception in thread "main" com.alibaba.fastjson.JSONException at com.alibaba.fastj......

alvinte
2013/02/02
5.7K
3
fastjson发布1.1.3版本

Fastjson 1.1.3是一个重要的功能增强版本,在这个版本开始,fastjson支持循环引用,完善支持WriteClassName的特性,使得fastjson开始具备替换hessian和java serialize的能力。 支持循环引用。...

wenshao
2011/08/29
2.1K
4
fastjson 1.1.38依然对特殊字符 \u00A0 处理有问题

@wenshao 你好,想跟你请教个问题: fastjson 1.1.38依然对特殊字符处理有问题。出现问题的字符是 u00A0. java.lang.ArrayIndexOutOfBoundsException: 160 at com.alibaba.fastjson.seriali...

_junwei
2014/01/10
2K
1
json处理,json、object的相互转化

用 FastJson将Json转换Bean ,用Jackson或Gson将Bean 转FastJson 要求能够支持获取Object中的Object,即支持深层嵌套的Object解析,此外json、Object间的相互转换要快速。 参考:各个JSON技术...

刘阳0292
2017/07/09
0
0
fastjson 发布 1.0.6 版本

项目首页 http://code.alibabatech.com/wiki/display/FastJSON/Home 版本1.0.6是一个完善版本,持续功能增强和bug修复。内置对File、URI、URL、InetAddress、InetSocketAddress、UUID等类的序...

wenshao
2011/06/24
5.1K
2
ParameterizedTypeImpl cannot be cast to java.lang.Class

@wenshao 你好,想跟你请教个问题: 在javabean里面有private Class[] parameterTypes;这个属性时,会出现 Caused by: java.lang.ClassCastException: sun.reflect.generics.reflectiveObje......

JackChu
2014/10/31
996
2
fastjson-1.1.35 发布

源码:https://github.com/alibaba/fastjson 下载:http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.35/ 文档:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%......

wenshao
2013/07/28
5K
7
fastjson class泄漏

问题描述 fastjson在jetty容器中序列化HttpServletRequest会导致class泄漏,严重时会导致meta区溢出,导致无限FGC。 fastjson序列化流程 fastjson通过动态生成代码提高序列化速度,序列化逻辑...

wizardleen
2017/06/12
0
0
fastjson 发布 1.2.36 和 1.1.61.android,支持 Kotlin

fastjson 发布了 1.2.36 和 1.1.61.android,两个版本都已内置支持 Kotlin。具体更新如下: fastjson-1.2.36 这个版本内置开始支持kotlin,进一步提升float/double的parse性能,提升序列化的...

wenshao
2017/08/09
918
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
29分钟前
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
46分钟前
28
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
52分钟前
0
0
PowerDesigner 16.5 安装配置

PowerDesigner16.5破解版是一款业内领先且开发人员常用的数据库建模工具,PowerDesigner可以从物理和概念两个层面设计数据库,方便用户制作处清晰直观的数据流程图和结构模型,欢迎有需要的朋...

Gibbons
今天
0
0
mac Homebrew 指令积累

1通用命令 brew install [包名] //安装包 brew list //列举安装的包 brew info [包名] // 显示安装包的详细信息 mysql 相关 #启动mysql 服务 brew service start mysql my...

Kenny100120
今天
0
0
前端Tips: 创建, 发布自己的 Vue UI 组件库

创建, 发布自己的 Vue UI 组件库 前言 在使用 Vue 进行日常开发时, 我们经常会用到一些开源的 UI 库, 如: Element-UI, Vuetify 等. 只需一行命令, 即可方便的将这些库引入我们当前的项目: n...

ssthouse_hust
今天
1
0
大数据教程(2.13):keepalived+nginx(多主多活)高可用集群搭建教程【自动化脚本】

上一章节博主为大家介绍了目前大型互联网项目的keepalived+nginx(主备)高可用系统架构体系,相信大家应该看了博主的文章对keepalived/nginx技术已经有一定的了解,在本节博主将为大家分享k...

em_aaron
今天
5
0
Git 2.18版本发布:支持Git协议v2,提升性能

在最新的官方 Git 客户端正式版2.18中添加了对 Git wire 协议 v2 的支持,并引入了一些性能与 UI 改进的新特性。在 Git 的核心团队成员 Brandon Williams 公开宣布这一消息前几周,Git 协议 ...

六库科技
今天
0
0
Java8新特性之接口

在JDK8以前,我们定义接口类中,方法都是抽象的,并且不能存在静态方法。所有的方法命名规则基本上都是 public [返回类型] [方法名](参数params) throws [异常类型] {}。 JDK8为接口的定义带...

developlee的潇洒人生
今天
0
0
aop + annotation 实现统一日志记录

aop + annotation 实现统一日志记录 在开发中,我们可能需要记录异常日志。由于异常比较分散,每个 service 方法都可能发生异常,如果我们都去做处理,会出现很多重复编码,也不好维护。这种...

长安一梦
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部