Technical Critique of Fastjson: Performance, Design Flaws, and Lack of International Adoption

The article analyzes Fastjson's design choices, performance shortcuts, memory‑leak issues caused by substring handling, hard‑coded framework dependencies, and why its focus on speed over standards and quality has prevented it from gaining global popularity compared to libraries like Jackson.

Architect's Tech Stack
Architect's Tech Stack
Architect's Tech Stack
Technical Critique of Fastjson: Performance, Design Flaws, and Lack of International Adoption

Fastjson, a Chinese JSON parsing library, suffers from several technical shortcomings that hinder its international adoption.

First, beans with properties prefixed by '_' or '#' lose those fields during JSON serialization, making deserialization impossible; this issue was fixed after version 1.2.14.

Second, the library contains many hard‑coded checks for frameworks such as Spring, using class‑loader detection to decide processing paths, which leads to bugs when those classes are absent.

Third, Fastjson parses JSON by repeatedly using String.substring, which was fast in early JDKs because it avoided new object allocation, but caused memory leaks when large JSON strings were partially referenced; later JDK versions changed substring to always create a new string, eliminating the speed advantage.

Overall, Fastjson prioritizes speed through opportunistic shortcuts, resulting in poor code quality, incomplete adherence to JSON standards, and numerous hidden bugs, especially in bytecode manipulation and framework integration.

Compared with Jackson, Fastjson lacks many features and robustness, making direct comparisons unfair; Jackson offers broader functionality and better compliance.

Despite these flaws, the Fastjson team responds quickly to issues, which is commendable, but the community is encouraged to focus on solid standards and functional completeness rather than merely “fast” implementations.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

BackendJavaJSONLibrary
Architect's Tech Stack
Written by

Architect's Tech Stack

Java backend, microservices, distributed systems, containerized programming, and more.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.