Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Pascal
  3. SuperObject

SuperObject

Pascal

A Delphi and FreePascal toolkit for parsing and writing JSON and XML data formats.

GitHubGitHub
337 stars168 forks0 contributors

What is SuperObject?

SuperObject is a parser and writer for JSON and XML data formats designed for Delphi and FreePascal developers. It provides a unified interface (ISuperObject) for handling structured data across multiple platforms, simplifying data interchange tasks with intuitive access methods and support for non-canonical JSON forms.

Target Audience

Delphi and FreePascal developers who need to parse, generate, or manipulate JSON and XML data in cross-platform applications for Windows, Linux, and macOS.

Value Proposition

Developers choose SuperObject for its comprehensive support of both JSON and XML through a single consistent interface, path-based data access for productivity, and RTTI marshalling for automatic serialization and deserialization of native Delphi types.

Overview

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.

Use Cases

Best For

  • Parsing and generating JSON data in Delphi or FreePascal applications with support for non-canonical forms like unquoted identifiers.
  • Handling XML data interchange in Delphi projects without needing separate libraries for JSON and XML.
  • Automatically serializing and deserializing Delphi records and classes to/from JSON using RTTI marshalling.
  • Querying and manipulating nested JSON or XML structures using concise path expressions for improved developer productivity.
  • Building cross-platform Delphi applications that require consistent data handling across Windows, Linux, and macOS environments.
  • Iterating over JSON arrays and objects using Delphi enumerators for cleaner and more readable code.

Not Ideal For

  • Projects requiring active maintenance, security updates, or long-term support, as the project is explicitly not maintained.
  • Teams working in non-Delphi or FreePascal ecosystems, since it's language-specific and won't integrate with modern web or mobile frameworks.
  • Applications needing strict, standards-compliant JSON parsing for interoperability, due to its support for non-canonical forms that may break with other parsers.
  • High-performance, large-scale data processing where optimized, actively developed libraries (like System.JSON in newer Delphi) might offer better speed and reliability.

Pros & Cons

Pros

Unified JSON/XML Interface

Provides a single ISuperObject interface for both JSON and XML, simplifying data interchange in Delphi applications without needing separate libraries, as highlighted in the key features.

Path-Based Data Access

Enables concise querying and manipulation of nested structures using path expressions like obj['foo.list'], improving productivity for complex data handling tasks.

RTTI Marshalling Integration

Automatically serializes and deserializes Delphi records and classes using RTTI, reducing boilerplate code, as demonstrated in the README's TSuperRttiContext example.

Non-Canonical JSON Support

Parses non-standard JSON forms like unquoted identifiers and unescaped strings, offering flexibility for legacy or informal data formats, as shown in the examples.

Cross-Platform Compatibility

Works on Windows, Linux, and macOS, ensuring consistent data handling in cross-platform Delphi projects, per the supported architectures list.

Cons

Project Abandonment

The README states 'This project is not maintained!', meaning no bug fixes, updates, or security patches, posing significant risk for production use.

Limited Ecosystem Lock-in

Tied exclusively to Delphi and FreePascal, with no support for other languages or modern development tools, restricting its applicability in mixed-technology stacks.

Non-Standard Parsing Risks

Support for non-canonical JSON can lead to compatibility issues when exchanging data with strict parsers, potentially causing silent errors in integrations.

Sparse Advanced Documentation

The README covers basics but lacks comprehensive guides for complex scenarios like XML-specific features or error handling, which may hinder adoption beyond simple use cases.

Frequently Asked Questions

Quick Stats

Stars337
Forks168
Contributors0
Open Issues0
Last commit4 years ago
CreatedSince 2015

Tags

#pascal#rtti#data-interchange#xml-parser#serialization#delphi#cross-platform#freepascal#json-parser

Built With

D
Delphi
F
FreePascal

Included in

Pascal2.0k
Auto-fetched 23 hours ago

Related Projects

dataset-serializedataset-serialize

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

Stars744
Forks183
Last commit18 days ago
Json Data ObjectsJson Data Objects

JSON parser for Delphi 2009 and newer

Stars458
Forks171
Last commit2 months ago
NeonNeon

JSON Serialization library for Delphi

Stars358
Forks96
Last commit1 day ago
XSuperObjectXSuperObject

Delphi Cross Platform Rapid JSON

Stars330
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