这是一个bug fixed版本,没有新功能。
FASTJSON-83 - 在asm优化不打开时,enum字段为null,序列化报空指针异常
FASTJSON-84 - StackTraceElement反序列化出错
FASTJSON-86 - 抽象类反序列化出错
FASTJSON-87 - 在不能ASM优化时,不能正常识别带有@type字段的json对象
FASTJSON-88 - Parse只有@Type属性的对象出错
FASTJSON-89 - create asm deserializer error
FASTJSON-90 - Deserialize empty generic field to null
FASTJSON-91 - Serialize empty generic field incorrect
fastjson使用越来越广泛,用户也越来越多,广泛使用加速了fastjson趋于稳定的过程。
1.1.4和1.1.5都没有增加新功能,都只做bug fixed。
大家使用的过程中遇到bug反馈给我,我会尽快确认并且修复发布,发布的周期1~2个星期。
bug反馈的JIRA地址:http://code.alibabatech.com/jira/browse/FASTJSON
How to get it?
If you're Maven user, just use our maven repository(http://code.alibabatech.com/mvn/releases/) with folloging dependency
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.5</version>
</dependency>
Downlaods
Binary : http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.1.5/fastjson-1.1.5.jar
Source :http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.1.5/fastjson-1.1.5-sources.jar
1 楼
kissroom112
2011-10-11
为什么我用maven引入fastjson 1.1.5时 报Missing artifact com.alibaba:fastjson:jar:1.1.5:compile
2 楼
robinfoxnan
2011-10-27
我使用您1.1.3的库的时候,发现一些问题:
保存Color,Point,Font 等绘图相关的数据时候有些问题,
其中Color保存的有些垃圾数据,是ColorSpace的东西,
Point直接空值崩溃,没有获得writer,
如能回复,不胜感激
390017268@qq.com
保存Color,Point,Font 等绘图相关的数据时候有些问题,
其中Color保存的有些垃圾数据,是ColorSpace的东西,
Point直接空值崩溃,没有获得writer,
如能回复,不胜感激
390017268@qq.com
3 楼
wenshao
2011-10-28
robinfoxnan 写道
我使用您1.1.3的库的时候,发现一些问题:
保存Color,Point,Font 等绘图相关的数据时候有些问题,
其中Color保存的有些垃圾数据,是ColorSpace的东西,
Point直接空值崩溃,没有获得writer,
如能回复,不胜感激
390017268@qq.com
保存Color,Point,Font 等绘图相关的数据时候有些问题,
其中Color保存的有些垃圾数据,是ColorSpace的东西,
Point直接空值崩溃,没有获得writer,
如能回复,不胜感激
390017268@qq.com
下次发布的时候,我内置补上对这些对象的序列化支持!Color、Font、Point都加上,还有其他的,请你提需求!
4 楼
robinfoxnan
2011-10-28
感谢您的回复,我也暂时还不清楚会缺什么,
目前我的项目中用到是绘图中的一些:
我测试一下,再反馈吧。
只是上次测试的时候发现了一些小问题,
今天跟踪了一下Point序列化失败的原因,
我使用JavaBean的那个序列化类,
主要是获得了一个getLocation()的方法,
这个方法返回Point,可能这里造成了无限循环。
尚不清楚是否是循环引用造成的。
目前我的项目中用到是绘图中的一些:
我测试一下,再反馈吧。
只是上次测试的时候发现了一些小问题,
今天跟踪了一下Point序列化失败的原因,
我使用JavaBean的那个序列化类,
主要是获得了一个getLocation()的方法,
这个方法返回Point,可能这里造成了无限循环。
尚不清楚是否是循环引用造成的。
5 楼
wenshao
2011-10-28
欢迎测试新版本:
http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.9-SNAPSHOT
如果没有问题,下个星期将会发布。
http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.9-SNAPSHOT
如果没有问题,下个星期将会发布。
robinfoxnan 写道
感谢您的回复,我也暂时还不清楚会缺什么,
目前我的项目中用到是绘图中的一些:
我测试一下,再反馈吧。
只是上次测试的时候发现了一些小问题,
今天跟踪了一下Point序列化失败的原因,
我使用JavaBean的那个序列化类,
主要是获得了一个getLocation()的方法,
这个方法返回Point,可能这里造成了无限循环。
尚不清楚是否是循环引用造成的。
目前我的项目中用到是绘图中的一些:
我测试一下,再反馈吧。
只是上次测试的时候发现了一些小问题,
今天跟踪了一下Point序列化失败的原因,
我使用JavaBean的那个序列化类,
主要是获得了一个getLocation()的方法,
这个方法返回Point,可能这里造成了无限循环。
尚不清楚是否是循环引用造成的。
6 楼
robinfoxnan
2011-10-29
Color cl = new Color((float)0.5, (float)0.5, (float)0.5, (float)0.5);
System.out.println(JSON.toJSONString(cl));
Font ft = new Font("宋体", Font.PLAIN, 9);
System.out.println(JSON.toJSONString(ft));
Point pt = new Point(100, 100);
System.out.println(JSON.toJSONString(pt));
Rectangle rt = new Rectangle();
rt.setBounds(1, 1, 100, 100);
System.out.println(JSON.toJSONString(rt));
输出:
{"r":128,"g":128,"b":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
Exception in thread "main" java.lang.StackOverflowError
at java.lang.Class.checkInitted(Unknown Source)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.alibaba.fastjson.util.ASMUtils.getMethodType(ASMUtils.java:95)
at Serializer_1.write1(Unknown Source)
动作确实很快!
1)Color应该还有个Alpha分量;
2) 如果是使用JavaBeanSerializer序列化,可以在这行后面加以一句
Object propertyValue = fieldSerializer.getPropertyValue(object);
if (object.equals(propertyValue))
continue;
防止取到的值等于自身造成死循环。
而如果是ASM就没有研究了,
3)如果按照2的方法去掉一些逻辑BUG,Rectangle是应该可以序列化的。
我写这些不是为了抬杠或者较真,只是为了这个库越来越好用。
感谢作者。
System.out.println(JSON.toJSONString(cl));
Font ft = new Font("宋体", Font.PLAIN, 9);
System.out.println(JSON.toJSONString(ft));
Point pt = new Point(100, 100);
System.out.println(JSON.toJSONString(pt));
Rectangle rt = new Rectangle();
rt.setBounds(1, 1, 100, 100);
System.out.println(JSON.toJSONString(rt));
输出:
{"r":128,"g":128,"b":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
Exception in thread "main" java.lang.StackOverflowError
at java.lang.Class.checkInitted(Unknown Source)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.alibaba.fastjson.util.ASMUtils.getMethodType(ASMUtils.java:95)
at Serializer_1.write1(Unknown Source)
动作确实很快!
1)Color应该还有个Alpha分量;
2) 如果是使用JavaBeanSerializer序列化,可以在这行后面加以一句
Object propertyValue = fieldSerializer.getPropertyValue(object);
if (object.equals(propertyValue))
continue;
防止取到的值等于自身造成死循环。
而如果是ASM就没有研究了,
3)如果按照2的方法去掉一些逻辑BUG,Rectangle是应该可以序列化的。
我写这些不是为了抬杠或者较真,只是为了这个库越来越好用。
感谢作者。
7 楼
wenshao
2011-10-30
欢迎使用最新版本测试: http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.9-SNAPSHOT/
十分欢迎大家反馈bug和提建议,要做好fastjson,需要大家的反馈!
十分欢迎大家反馈bug和提建议,要做好fastjson,需要大家的反馈!
robinfoxnan 写道
Color cl = new Color((float)0.5, (float)0.5, (float)0.5, (float)0.5);
System.out.println(JSON.toJSONString(cl));
Font ft = new Font("宋体", Font.PLAIN, 9);
System.out.println(JSON.toJSONString(ft));
Point pt = new Point(100, 100);
System.out.println(JSON.toJSONString(pt));
Rectangle rt = new Rectangle();
rt.setBounds(1, 1, 100, 100);
System.out.println(JSON.toJSONString(rt));
输出:
{"r":128,"g":128,"b":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
Exception in thread "main" java.lang.StackOverflowError
at java.lang.Class.checkInitted(Unknown Source)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.alibaba.fastjson.util.ASMUtils.getMethodType(ASMUtils.java:95)
at Serializer_1.write1(Unknown Source)
动作确实很快!
1)Color应该还有个Alpha分量;
2) 如果是使用JavaBeanSerializer序列化,可以在这行后面加以一句
Object propertyValue = fieldSerializer.getPropertyValue(object);
if (object.equals(propertyValue))
continue;
防止取到的值等于自身造成死循环。
而如果是ASM就没有研究了,
3)如果按照2的方法去掉一些逻辑BUG,Rectangle是应该可以序列化的。
我写这些不是为了抬杠或者较真,只是为了这个库越来越好用。
感谢作者。
System.out.println(JSON.toJSONString(cl));
Font ft = new Font("宋体", Font.PLAIN, 9);
System.out.println(JSON.toJSONString(ft));
Point pt = new Point(100, 100);
System.out.println(JSON.toJSONString(pt));
Rectangle rt = new Rectangle();
rt.setBounds(1, 1, 100, 100);
System.out.println(JSON.toJSONString(rt));
输出:
{"r":128,"g":128,"b":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
Exception in thread "main" java.lang.StackOverflowError
at java.lang.Class.checkInitted(Unknown Source)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.alibaba.fastjson.util.ASMUtils.getMethodType(ASMUtils.java:95)
at Serializer_1.write1(Unknown Source)
动作确实很快!
1)Color应该还有个Alpha分量;
2) 如果是使用JavaBeanSerializer序列化,可以在这行后面加以一句
Object propertyValue = fieldSerializer.getPropertyValue(object);
if (object.equals(propertyValue))
continue;
防止取到的值等于自身造成死循环。
而如果是ASM就没有研究了,
3)如果按照2的方法去掉一些逻辑BUG,Rectangle是应该可以序列化的。
我写这些不是为了抬杠或者较真,只是为了这个库越来越好用。
感谢作者。
8 楼
robinfoxnan
2011-10-30
wenshao 写道
欢迎使用最新版本测试: http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.9-SNAPSHOT/
十分欢迎大家反馈bug和提建议,要做好fastjson,需要大家的反馈!
…………
十分欢迎大家反馈bug和提建议,要做好fastjson,需要大家的反馈!
…………
前面部分,就是针对这个版本测试的结果。
9 楼
robinfoxnan
2011-10-30
哦,对不起,仔细看了一下,找到了fastjson-1.1.9-20111030.053745-2.jar
这个没有什么问题
{"r":128,"g":128,"b":128,"alpha":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
{"x":1,"y":1,"width":100,"height":100}
这个没有什么问题
{"r":128,"g":128,"b":128,"alpha":128}
{"name":"宋体","style":0,"size":9}
{"x":100,"y":100}
{"x":1,"y":1,"width":100,"height":100}