在 Spring 应用中使用 Fastjson2
Fastjson2 是 Fastjson 的一个重大升级版本。
以下摘自官方的介绍:
FASTJSON 2是一个性能极致并且简单易用的Java JSON库。
FASTJSON 2是FASTJSON项目的重要升级,和FASTJSON 1相比,性能有非常大的提升,解决了autoType功能因为兼容和白名单的安全性问题。 性能极致,性能远超过其他流行 JSON 库,包括 jackson/gson/org.json,性能数据: https://github.com/alibaba/fastjson2/wiki/fastjson_benchmark 支持JDK新特性,包括JDK 11/JDK 17,针对compact string优化,支持Record,支持GraalVM Native-Image 完善的JSONPath支持,支持 SQL:2016 的 JSONPath 语法 支持Android 8+,客户端和服务器一套 API 支持Kotlin https://alibaba.github.io/fastjson2/kotlin_cn 支持JSON Schema https://alibaba.github.io/fastjson2/json_schema_cn 新增加支持二进制格式 JSONB https://alibaba.github.io/fastjson2/jsonb_format_cn 总得来说,提高了性能(拳打 Gson,脚踢 Jackson)和饱解决了饱受诟病的安全问题(因为 Fastjson 屡次爆出反序列化安全问题,在国内被戏称为 Bugjson)。
Fastjson2 确实一个款性能很高的 Json 库,API 也设计得比较简单、易用。本文将带你了解如何在 Spring 中使用 Fastjson2。
1、依赖 Fastjson2 采用 多模块 的结构设计,对 Spring 等框架的支持现独立在 extension 包中。
2.0.23 版本之后为了兼容 Spring 5.x / 6.x,将不同的版本独立出来了。
使用 Maven:
<!-- Sring 5 --> <dependency> <groupId>com.