DCodec

Schema-based and Schema-less messages for JSON and binary

Easy to use

Simple and natural interface, works with both, user defined and dynamic data types.


Text and Binary in one tool

JSON and DER encoding and decoding, easy to switch from one to the other.


Schema-based validation

Validate that your messages conform to the format you expect.

No schema? No problem

Works with or without a schema. It's up to you to adhere to a schema or just decode any message.


Schema versioning and evolution

Supports schema evolution scenarios. You will be able to decode messages that are encoded using a different version of your schema.

Based on proven standards

DCodec is based on a set of international standards (ISO8824, ISO8825, etc, also known as ASN.1) popular for many protocols, small and large.


Advanced mismatch detection

DCodec will report what fields are missing from a message and what extra fields there are, and you get to decide how to act.

How does the DCodec differ from other OSS ASN.1 Tools?

The goal of the DCodec is to offer a familiar, JSON-like, development experience to developers whose applications would benefit from the use of a schema. The dynamic aspect of DCodec offers both, a dynamic API (reflection based) and dynamic schema updates (during runtime).

  • DCodec is compliant with the Dynamic Profile.
  • DCodec does not require an ASN.1 compiler to generate bindings, it uses dynamic and/or user defined types.
  • Schema is loaded dynamically at runtime (in a form of DKey file).
  • Schema is required to validate the data, but not to parse self-describing formats (JSON or DER). Fields "outside" the schema are available to the application.
If you already have a standardized ASN.1 schema (such as those specified by 3GPP, ETSI, IEEE, SAE, etc.) the full featured OSS ASN.1 Tools may be the right solution for you.

   DCodec is a free tool in beta stage with the objective to solidify the API based on your feedback. Curently available only as .NET Standard 2.0 library.

License 

DCodec license agreement.