Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Pascal
  3. Neon

Neon

Apache-2.0Pascalv3.1.0

A Delphi library for JSON serialization and deserialization of objects, records, and other Delphi types.

GitHubGitHub
354 stars98 forks0 contributors

What is Neon?

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.

Target Audience

Delphi developers building RESTful applications or services that require JSON data exchange, particularly those using or integrating with the WiRL REST Library.

Value Proposition

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.

Overview

JSON Serialization library for Delphi

Use Cases

Best For

  • Building REST APIs in Delphi that require clean JSON serialization without extra fields.
  • Converting complex Delphi objects, records, and dynamic arrays to JSON for data exchange.
  • Integrating JSON serialization with the WiRL REST Library as its default engine.
  • Customizing JSON output with flexible case handling, member selection, and visibility settings.
  • Creating custom serializers for specialized Delphi types by inheriting from TCustomSerializer.
  • Serializing Delphi-specific types like TStringList, TDataSet, and streamable classes to JSON.

Not Ideal For

  • Projects requiring JSON output with extensive metadata or annotations, as Neon focuses on clean data exchange without extra fields.
  • Legacy Delphi systems using versions below XE7, since Neon is optimized for newer versions and may require significant adaptation work.
  • Simple serialization tasks where minimal configuration is desired, due to Neon's extensive and potentially over-engineered setup via INeonConfiguration.

Pros & Cons

Pros

Extensive Configuration Control

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.

Broad Delphi Type Compatibility

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.

REST-Optimized Design

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.

Dual Usage Modes

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.

Cons

Incomplete Testing

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.

Delphi Version Barriers

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.

Configuration Overhead

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.

Frequently Asked Questions

Quick Stats

Stars354
Forks98
Contributors0
Open Issues9
Last commit3 months ago
CreatedSince 2019

Tags

#object-mapping#rest#library#rtti#rest-api#serializer#json-serialization#embarcadero#delphi#json#data-exchange

Built With

D
Delphi

Included in

Pascal2.0k
Auto-fetched 1 day ago

Related Projects

dataset-serializedataset-serialize

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

Stars739
Forks182
Last commit19 days ago
Json Data ObjectsJson Data Objects

JSON parser for Delphi 2009 and newer

Stars455
Forks170
Last commit28 days 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
Forks167
Last commit4 years ago
XSuperObjectXSuperObject

Delphi Cross Platform Rapid JSON

Stars329
Forks122
Last commit3 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