JSON Essentials™ for COM/ActiveX - Universal JSON toolkit for Windows

Current version: 1.2.1
Released on: 2022.01.20

Overview | Where to use | Features | Code samples | JSON Schema | Compliance | Future perspectives

1 Overview

JSON Essentials™ for COM/ActiveX is a language independent JSON toolkit for rapid implementation of the most common JSON use cases on the Windows platform. JSON Essentials™ for COM/ActiveX is built with focus on exceptional standard compliance, performance, stability and simplicity. It can be used with any programming language and in development environment that supports COM/ActiveX API standard, including but not limited to the mainstream programming languages like C#, Visual Basic, C/C++, Delphi, Java, JavaScript, VB Script, TypeScript, PHP, Python, Matlab etc. It's native and flexible support of HTTP/HTTPS protocols makes it immediately ready for complex JSON REST applications.

JSON Essentials™ for COM/ActiveX provides different licensing options and product configurations that allow individual developers, non-profit and academic organizations to use the it for free, and allow commercial users to get only the needed functionality. Make your license choice.

2 Where to use

JSON data format has become the primary format for data exchange in most modern systems because it's simple, lightweight, cross-platform, but still powerful, thus the scope of application of JSON Essentials™ for COM/ActiveX is limited by one's imagination only. From keeping local configuration files in JSON format, organizing small datasets in JSON, to communicating with Web services that offer JSON API endpoints, etc. In the world of distributed systems and Service Oriented Architectures a simple to use, but still functional, fast and reliable JSON handling using JSON Essentials™ for COM/ActiveX can not only save time on development but also save cost on data processing, especially in cloud environments where CPU cycles directly translate to dollar amounts.

Here are just a few well-know major Web services to mention that require JSON as the main or the only mean of communication with the external world, and JSON Essentials™ for COM/ActiveX can handle all that for your Windows applications, services and scripts:

3 Features

The following below growing list of features only briefly outlines capabilities of JSON Essentials™ for COM/ActiveX. Suggest a feature that you believe is worth adding.

Loading JSON from:

string, file, stream, HTTP response, registry, language specific objects

Writing JSON to:

file, stream, HTTP request, registry

Encoding support:

UTF-8, UTF-16, UTF-32, Binary Order Mark

JSON formatting options:

indentation, spaces, newlines, escapes

JSON DOM operations:

JSON of a node, DOM traversal, node addition, node removal, node lookup, tree saving, node selecting, clearing, deep tree comparison, direct DOM values access, node annotations access

JSON selectors:

JSON pointer, relative JSON pointer, compiled selector expressions

JSON Schema collection:

manual schema adding, unresolved schema request, custom schema request callback, schema lookup, schema removal, clearing

JSON Schema operations:

instance validation, instance annotation, unknown schema resolving, schema standard identification

HTTP capabilities:

HTTP/HTTPS support, full HTTP request customization, x-www-form-urlencoded and multipart/form-data form data, HTTP timeouts configuration, collecting response status and headers, processing response body as binary/text or JSON DOM, one call JSON DOM request and response processing

Non-functional:

language independent, lightweight, exceptionally fast, strictly standard compliant, well documented, thoroughly tested

4 Code samples

JScript/JavaScript: Create DOM | Parse DOM | Traverse DOM | Format JSON | Select node | Fast select node | Loading JSON file | Loading JSON from registry | Loading JSON code | Object to JSON DOM and Direct DOM Access | HTTP GET JSON request | HTTP PUT JSON request | Validate JSON against schema | Handle schema request | Annotate JSON against schema

C#: Create DOM | Parse DOM | Traverse DOM | Format JSON | Select node | Fast select node | Loading JSON file | Loading JSON from registry | Loading JSON code | Object to JSON DOM and Direct DOM Access | HTTP GET JSON request | HTTP PUT JSON request | Validate JSON against schema | Schema request via callback | Schema request via delegate | Annotate JSON against schema

Visual Basic: Create DOM | Parse DOM | Traverse DOM | Format JSON | Select node | Fast select node | Loading JSON file | Loading JSON from registry | Loading JSON code | Object to JSON DOM and Direct DOM Access | HTTP GET JSON request | HTTP PUT JSON request | Validate JSON against schema | Handle schema request | Annotate JSON against schema

5 JSON Schema support

JSON Essentials™ for COM/ActiveX v1.2.1 supports only Draft-07 JSON Schema standard for both validation and annotation. At the moment of its release it passes all required JSON Schema Test Suite tests for Draft-07. However it is not guaranteed that future updates in JSON Schema Test Suite released after will pass. In order to mititage such risks each package of JSON Essentials™ for COM/ActiveX includes a copy of the latest snapshot of the tests available right before its release for validating its functionality.

Support of newer standards Draft-2019-09 and Draft-2020-12 is currently under development.

6 Compliance

JSON Essentials™ for COM/ActiveX is compliant with:

7 Future perspectives

Despite a humble start there is much more yet to be uncovered. Here is the brief outlook on what is getting ready to be released soon and what's in development: