Skip to content

Roadmap [Deprecated]

Jordan Bayles edited this page Jun 24, 2019 · 1 revision

Adding a strict mode to reader/parser

Strict JSON support as specific in RFC 4627 (http://www.ietf.org/rfc/rfc4627.txt?number=4627).

  • Enforce only object or array as root element
  • Disable comment support
    • Get jsonchecker failing tests to pass in strict mode

Writer control

Provides more control to determine how specific items are serialized when JSON allow choice:

  • Optionally allow escaping of non-ASCII characters using unicode escape sequence "\u".
  • Optionally allow escaping of "/" using "/".

Exposing json reader/writer API that do not impose using Json::Value.

Some typical use-case involve an application specific structure to/from a JSON document.

  • Event base parser to allow unserializing a Json document directly in datastructure instead of using the intermediate Json::Value.
  • Stream based parser to serialized a Json document without using Json::Value as input. Performance oriented parser/writer:
  • Provides an event based parser. Should allow pulling & skipping events for ease of use.
  • Provides a JSON document builder: fast only.

Performance tuning

  • Provides support for static property name definition avoiding allocation
  • Static property dictionnary can be provided to JSON reader
  • Performance scenario & benchmarking

Testing

  • Adds more tests for unicode parsing (e.g. including surrogate and error detection).

Making JsonCpp ready for release

  • Build system clean-up:
    • Fix build on Windows (shared-library build is broken)
    • Compile and run tests using shared library on Windows to ensure no JSON_API macro is missing.
    • Add enable/disable flag for static and shared library build
    • Enhance help
  • Platform portability check: (Notes: was ok on last check)
    • linux/gcc,
    • solaris/cc,
    • windows/msvc678,
    • aix/vacpp
  • Add JsonCpp version to header as numeric for use in preprocessor test
  • Remove buggy experimental hash stuff