Fastjson Android版本

收藏258

阅读14999

更新时间2022-04-19

Fastjson Android版本

Fastjson提供Android版本,和标准版本相比,Android版本去掉一些Android虚拟机dalvik不支持的功能,使得jar更小,同时针对dalvik做了很多性能优化,包括减少方法调用等。parse为JSONObject/JSONArray时比原生org.json速度快,序列化反序列化JavaBean性能比jackson/gson性能更好。

下载

通过 Maven:


    com.alibaba
    fastjson
    VERSION_CODE

或者 Gradle:

compile 'com.alibaba:fastjson:VERSION_CODE'

用 这里 或者 这里 或者 这里 的真实发行版本号, 替换 VERSION_CODE , 例如 1.1.54.android

Android版本中去掉的功能

1. ASM

Dalvik虚拟机的字节码格式和Java SE不一样,目前的ASM动态优化无法在Android上实现。

2. AWT

Android上的Dalvik虚拟机不支持awt,所以去掉标准版本的awt相关类序列化和反序列化的支持。

3. AtomicXXX

AtomicXXX不应该作为POJO的属性,不常用,所以在Android版本中去掉了。

4. 不支持Clob对象序列化。

5. JSONPObject

这个功能用于web jsonp数据生成,不常用于android客户端,所以去掉。

6. 不支持Reference字段类型序列化和反序列化,比如WeakReference/SoftReference/AtomicReference,这些类型不常用用作POJO的属性,所以去掉了。

7. 以下方法不常用,不支持

public abstract class JSON {
    public static parseObject(byte[] input, int off, int len, CharsetDecoder charsetDecoder, Type clazz,
                                      Feature... features) { ... }

    public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, 
                                      int features) {}

    public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, 
                                      Feature...features) {}

    public static Object parse(byte[] input, int off, int len, CharsetDecoder charsetDecoder, 
                                      int features) {}
}

// JSONSerializerMap已废弃,不支持
com.alibaba.fastjson.serializer.JSONSerializer.JSONSerializer(JSONSerializerMap)

8. 一些废弃的类不支持


com.alibaba.fastjson.parser.JavaBeanMapping 使用com.alibaba.fastjson.parser.ParserConfig代替com.alibaba.fastjson.serializer.JSONSerializerMap  使用com.alibaba.fastjson.serializer.SerializeConfig代替com.alibaba.fastjson.parser.DefaultExtJSONParser 使用com.alibaba.fastjson.parser.DefaultJSONParser代替

9. 一些废弃方法不支持

class com.alibaba.fastjson.JSONWriter {
    @Deprecated
    public void writeStartObject();

    @Deprecated
    public void writeEndObject();

    @Deprecated
    public void writeStartArray();

    @Deprecated
    public void writeEndArray();
}

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号