Generates Delphi classes from JSON strings for type-safe serialization and deserialization.
Delphi-JsonToDelphiClass is a JSON Data Binding Tool that automatically generates Delphi class definitions from JSON strings. It solves the problem of manually creating type-safe Delphi classes for JSON serialization and deserialization by automating the entire process based on JSON structure analysis.
Delphi developers who need to work with JSON APIs or data files and want type-safe object mapping without manual class creation.
Developers choose this tool because it generates complete, production-ready Delphi units with proper lifetime management and consistent serialization behavior, all while maintaining zero external dependencies through pure RTL implementation.
Generates Delphi Classes based on JSON string (Json To Delphi Class Generator / JSON Data Binding Tool)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely on Delphi's Runtime Library with no external dependencies, ensuring the generated code works seamlessly across all Delphi-supported platforms without extra setup.
Generates full Delphi units with class declarations and implementations, including helper functions for serialization and deserialization, saving significant development time.
Adds support code to automatically destroy complex subobjects, reducing the risk of memory leaks and simplifying lifetime management in Delphi applications.
Ensures that serializing and deserializing JSON results in identical structures, which is crucial for maintaining data integrity in API interactions and data storage.
Blocks unit generation if the JSON contains empty arrays, as noted in the README, making it unsuitable for dynamic data sources where array types cannot be inferred.
Maps all numbers to Double and dates only to ISO8601 formats, which can lead to precision issues for integers or incompatibility with custom date formats in JSON data.
Uses TArray<T> instead of TList<T> to avoid serialization noise, but this sacrifices the convenience methods of TList<T> and may require additional code for list manipulations.