A Delphi and Lazarus (FPC) library for bidirectional conversion between JSON and DataSets, including validation and structure management.
DataSet Serialize is a library for Delphi and Lazarus (Free Pascal) that simplifies the serialization and deserialization of data between JSON and DataSets. It provides a comprehensive set of features to export DataSet records to JSON, import JSON data into DataSets, validate JSON against DataSet constraints, and manage DataSet field structures. This makes it particularly valuable for developers building RESTful APIs, data-driven applications, or any system requiring seamless data interchange between database layers and JSON formats.
Delphi and Lazarus (Free Pascal) developers building RESTful APIs, data-driven desktop applications, or systems that require JSON-based data interchange with database layers. It is especially useful for those working with FireDAC or similar database components and needing to handle master-detail relationships.
Developers choose DataSet Serialize because it integrates seamlessly via class helpers, requiring minimal setup, and offers practical, real-world functionality like JSON validation, structure management, and data merging. Its unique selling point is the comprehensive handling of DataSet operations—including nested JSON via master-detail, record state management for REST operations, and extensive customization options—all in a single, easy-to-use library.
JSON to DataSet and DataSet to JSON converter for Delphi and Lazarus (FPC)
Uses class helpers to add methods directly to TDataSet, enabling easy incorporation into existing Delphi/Lazarus projects without invasive code changes, as shown in the minimal setup examples.
Supports full DataSet to JSON conversion and vice versa, including nested JSON via master-detail relationships and handling record states (inserted, modified, deleted) for REST operations, detailed in the LoadFromJSON section.
Validates JSON against DataSet field constraints, returning detailed error messages for missing required fields, which is practical for API input validation, as demonstrated in the ValidateJSON examples.
Offers extensive customization options like date formats, case naming conventions, and export/import rules, allowing fine-tuned behavior for diverse use cases, listed in the Configurations section.
Only supports Win32 and Win64 platforms, excluding cross-platform development with Delphi's FireMonkey or Lazarus on other operating systems, as indicated by the badges in the README.
Advanced features like exporting only updated records require FireDAC with CachedUpdates enabled, limiting compatibility with other database components such as dbExpress or UniDAC, noted in the ToJSONObject parameters.
Validation is limited to checking if required fields are present; it doesn't support JSON schema validation, custom rules, or complex data types, which may be insufficient for sophisticated applications.
JSON parser for Delphi 2009 and newer
JSON Serialization library for Delphi
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.
Delphi Cross Platform Rapid JSON
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.