A Delphi library for JSON serialization and deserialization of objects, records, and other Delphi types.
Neon is a JSON serialization library for Delphi that converts Delphi objects and other values to and from JSON. It is designed specifically for REST APIs, focusing on clean data exchange without extra metadata, and serves as the default JSON engine for the WiRL REST Library.
Delphi developers building RESTful applications or services that require JSON data exchange, particularly those using or integrating with the WiRL REST Library.
Developers choose Neon for its extensive configurability via INeonConfiguration, support for a wide range of Delphi types including complex classes and records, and its optimization for RESTful data exchange without unnecessary metadata.
JSON Serialization library for Delphi
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Through the INeonConfiguration interface, Neon allows fine-grained settings for case handling, member selection, and custom serializers, providing unmatched flexibility in JSON output as detailed in the README.
Neon supports basic types, dynamic arrays, records, classes, generic lists, dictionaries, and Delphi-specific types like TStringList and TDataSet, making it versatile for various data structures.
Designed specifically for REST APIs, Neon produces clean JSON without metadata and serves as the default JSON engine for the WiRL REST Library, ensuring seamless integration for web services.
Offers both a simple TNeon utility class for quick serialization and more advanced TNeonSerializerJSON for detailed control, catering to different developer needs as shown in the code examples.
The README's 'Todo' section explicitly lists 'More Unit Tests' as needed, which could impact reliability and robustness for edge cases or complex serialization scenarios.
While it supports Delphi XE7 and higher, Neon is primarily tested on newer versions (e.g., 10.2 Tokyo+), and older versions may require additional work, posing compatibility challenges for legacy projects.
The extensive configuration options, while powerful, can add complexity and setup time for straightforward serialization tasks, compared to simpler or built-in Delphi JSON tools.