Skip to content
Shaojin Wen edited this page Feb 9, 2024 · 17 revisions

Q1. fastjson2支持的JDK版本有哪些?

A:fastjson2支持JDK 8+,每次构建都会验证在JDK 8/11/17/21三个JDK LTS版本上验证,保证兼容。

Q2. fastjson2支持Android么?

A:fastjson2有针对android优化过的版本,分别是android5和android8版本,其中android8版本支持java.time和Optional,其余功能一样。android版本和标准版本的区别是,去掉一些android上不常用的能力,优化首次执行时间,还有就是针对android运行环境优化性能。fastjson2在2.0.46.android之后的版本,在Android环境性能提升明显。

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.xx.android5</version>
</dependency>
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.xx.android8</version>
</dependency>

Q3. fastjson2支持输入和输入为byte[]么?

A: 支持,fastjson2序列化支持输出为char[]和byte[]。不需要将byte[]转成String再做parse,可以提升性能。使用如下:

  • 从utf8编码的byte[]反序列化
byte[] utf8 = ...;
Bean bean = JSON.parseObject(utf8, Bean.class);
  • 从指定编码的byte[]反序列化
byte[] bytes = ...;
Charset charset = ...;

Bean bean = JSON.parseObject(bytes, 0, bytes.length, charset, Bean.class);
  • 序列化为utf8 bytes
Bean bean = ...;
byte[] utf8 = JSON.toBytes(bean);

Q4. fastjson2是否兼容Jackson的Annotation?

A: fastjson2为了方便Jackson用户迁移,提供了对Jackson常用的Annotation的支持。

Clone this wiki locally