论坛首页 Java企业应用论坛

fastjson发布1.1.5版本

浏览 14391 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-20  
这是一个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
   发表时间:2011-09-20  
呵呵..我正打算将fastjson运用于项目中.
0 请登录后投票
   发表时间:2011-09-21  
fastjson在playframework项目中使用有问题~
0 请登录后投票
   发表时间:2011-09-21  
Arden 写道
fastjson在playframework项目中使用有问题~


没有接触过playframework,不知道什么问题,你这样说我也不知道怎么回事?

如果你希望解决问题,把详细的错误信息报告出来。
0 请登录后投票
   发表时间:2011-09-21  
很好用,我已经把这个 用于 我们公司的产品中了。继续支持温少!
0 请登录后投票
   发表时间:2011-09-22  
试用了下,貌似对Properties对象反序列出错,温少看下?
0 请登录后投票
   发表时间:2011-09-22  
package sim.test;

import java.util.HashSet;
import java.util.Set;

import com.alibaba.fastjson.JSON;

/**
 * @author longzl @createOn 2011-9-22
 * @version 
 * @desc
 */
public class TestFastJson {
    public static void main(String[] args) {
       Message message = new Message();
       message.setIp("192.168.1.1");
       message.setContent("hello");
//       Set<String> set = new HashSet<String>();
       Set set = new HashSet();
       set.add("123");
       message.setPics(set);
       String messageStr = JSON.toJSONString(message);
       System.out.println(messageStr);
       Message m = JSON.parseObject(messageStr, Message.class);
    }
}
class Message{
    private String ip;
    private String content;
    private Set<String> pics;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public Set<String> getPics() {
        return pics;
    }
    public void setPics(Set<String> pics) {
        this.pics = pics;
    }
}

 之前用fastjson遇到的一个 问题,不知道是我自己用错了,还是真是 fastjson有问题。温少你看一下:

感觉就是JSON.parseObject(messageStr, Message.class)的时候 只要Message.class里有集合就会出错,如下:

{"content":"hello","ip":"192.168.1.1","pics":["123"]}
Exception in thread "main" com.alibaba.fastjson.JSONException: set property error, public void sim.test.Message.setPics(java.util.Set)
	at com.alibaba.fastjson.parser.deserializer.FieldDeserializer.setValue(FieldDeserializer.java:57)
	at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:23)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:219)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:175)
	at com.alibaba.fastjson.parser.DefaultExtJSONParser.parseObject(DefaultExtJSONParser.java:108)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:190)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:152)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:245)
	at sim.test.TestFastJson.main(TestFastJson.java:31)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.alibaba.fastjson.parser.deserializer.FieldDeserializer.setValue(FieldDeserializer.java:55)
	... 8 more

 

 

0 请登录后投票
   发表时间:2011-09-22   最后修改:2011-09-22
agapple 写道
试用了下,貌似对Properties对象反序列出错,温少看下?


问题已经重现,已经处理,谢谢反馈!

http://code.alibabatech.com/svn/fastjson/trunk/fastjson/src/test/java/com/alibaba/json/test/bvt/bug/Bug_for_agapple.java
0 请登录后投票
   发表时间:2011-09-22  
long502147 写道
package sim.test;

import java.util.HashSet;
import java.util.Set;

import com.alibaba.fastjson.JSON;

/**
 * @author longzl @createOn 2011-9-22
 * @version 
 * @desc
 */
public class TestFastJson {
    public static void main(String[] args) {
       Message message = new Message();
       message.setIp("192.168.1.1");
       message.setContent("hello");
//       Set<String> set = new HashSet<String>();
       Set set = new HashSet();
       set.add("123");
       message.setPics(set);
       String messageStr = JSON.toJSONString(message);
       System.out.println(messageStr);
       Message m = JSON.parseObject(messageStr, Message.class);
    }
}
class Message{
    private String ip;
    private String content;
    private Set<String> pics;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public Set<String> getPics() {
        return pics;
    }
    public void setPics(Set<String> pics) {
        this.pics = pics;
    }
}

 之前用fastjson遇到的一个 问题,不知道是我自己用错了,还是真是 fastjson有问题。温少你看一下:

感觉就是JSON.parseObject(messageStr, Message.class)的时候 只要Message.class里有集合就会出错,如下:

{"content":"hello","ip":"192.168.1.1","pics":["123"]}
Exception in thread "main" com.alibaba.fastjson.JSONException: set property error, public void sim.test.Message.setPics(java.util.Set)
	at com.alibaba.fastjson.parser.deserializer.FieldDeserializer.setValue(FieldDeserializer.java:57)
	at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:23)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:219)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:175)
	at com.alibaba.fastjson.parser.DefaultExtJSONParser.parseObject(DefaultExtJSONParser.java:108)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:190)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:152)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:245)
	at sim.test.TestFastJson.main(TestFastJson.java:31)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.alibaba.fastjson.parser.deserializer.FieldDeserializer.setValue(FieldDeserializer.java:55)
	... 8 more

 

 

我也发现了这个错误,已经修复,我也尽快发布新版本。

 

希望你帮忙验证:

http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.6-SNAPSHOT/

 

0 请登录后投票
   发表时间:2011-09-22  
我在使用中发现这样一种情况,不清楚你是怎么做到的,望指教。
需求实现说明如下:
需要将多个日期按照一定顺序返回给界面进行展现,我用你的com.alibaba.fastjson.JSONObject,
JSONObject validDateJSON = new JSONObject(nextValidDates);
nextValidDates是一个Map<String, Object> nextValidDates= new LinkedHashMap<String, Object>();对象。
如果我用net.sf.json.JSONObject去存储,传递LinkedHashMap,返回界面,里面存储的日期无法保证顺序,而用你的com.alibaba.fastjson.JSONObject却可以保证顺序,请问你是如何做到的?望指教。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics