Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Pascal
  3. Delphi-JsonToDelphiClass

Delphi-JsonToDelphiClass

MITPascal

Generates Delphi classes from JSON strings for type-safe serialization and deserialization.

GitHubGitHub
241 stars124 forks0 contributors

What is Delphi-JsonToDelphiClass?

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.

Target Audience

Delphi developers who need to work with JSON APIs or data files and want type-safe object mapping without manual class creation.

Value Proposition

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.

Overview

Generates Delphi Classes based on JSON string (Json To Delphi Class Generator / JSON Data Binding Tool)

Use Cases

Best For

  • Generating Delphi classes from complex JSON API responses
  • Creating type-safe data models for JSON configuration files
  • Automating serialization/deserialization code for JSON-based applications
  • Visualizing JSON structure hierarchies in Delphi projects
  • Working with ISO8601 date formats in JSON data
  • Maintaining clean JSON round-trip serialization without extra properties

Not Ideal For

  • Projects where JSON data frequently contains empty arrays, as the tool blocks unit generation in such cases.
  • Developers who need the additional methods and flexibility of TList<T> over TArray<T> for list operations.
  • Applications requiring custom date formats or integer number mappings beyond the default ISO8601 and Double handling.

Pros & Cons

Pros

Cross-Platform RTL Basis

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.

Complete Code Generation

Generates full Delphi units with class declarations and implementations, including helper functions for serialization and deserialization, saving significant development time.

Automatic Object Cleanup

Adds support code to automatically destroy complex subobjects, reducing the risk of memory leaks and simplifying lifetime management in Delphi applications.

Serialization Consistency

Ensures that serializing and deserializing JSON results in identical structures, which is crucial for maintaining data integrity in API interactions and data storage.

Cons

Empty Array Limitation

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.

Fixed Type Mapping

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.

TArray<T> for Lists

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.

Frequently Asked Questions

Quick Stats

Stars241
Forks124
Contributors0
Open Issues17
Last commit2 years ago
CreatedSince 2015

Tags

#desktop-application#object-pascal#rtl#type-safety#serialization#delphi#data-binding#code-generation#json-parser

Built With

m
madExcept
D
Delphi

Included in

Pascal2.0k
Auto-fetched 16 hours ago

Related Projects

dataset-serializedataset-serialize

JSON to DataSet and DataSet to JSON converter for Delphi and Lazarus (FPC)

Stars742
Forks181
Last commit1 month ago
Json Data ObjectsJson Data Objects

JSON parser for Delphi 2009 and newer

Stars456
Forks170
Last commit1 month ago
NeonNeon

JSON Serialization library for Delphi

Stars354
Forks95
Last commit4 months ago
SuperObjectSuperObject

SuperObject is a comprehensive parser and writer for JSON and XML data formats, designed specifically for Delphi and FreePascal developers. It provides a unified interface for handling structured data across multiple platforms, including Windows, Linux, and macOS. This toolkit simplifies data interchange tasks by offering intuitive access methods and supporting non-canonical JSON forms. ## Key Features - **JSON and XML Support** — Reads and writes both JSON and XML formats, enabling flexible data interchange. - **Path-Based Access** — Allows querying and manipulating data using concise path expressions for productivity. - **RTTI Marshalling** — Integrates with Delphi's RTTI for automatic serialization and deserialization of records and classes. - **Non-Canonical Parsing** — Handles unquoted identifiers, unescaped strings, and hexadecimal values in JSON. - **Cross-Platform Compatibility** — Works on win32, win64, linux32, linux64, and macOS Intel architectures. - **Enumerator Support** — Enables easy iteration over arrays and objects using Delphi enumerators. ## Philosophy SuperObject emphasizes simplicity and productivity, providing a single, consistent interface (ISuperObject) for all data types to reduce complexity in Delphi and FreePascal applications.

Stars337
Forks169
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub