From 421e3d189469d26345edad5d4b1344846f4b51c4 Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Sat, 5 Jul 2014 12:44:18 -0700 Subject: [PATCH] Moved here from Doxygen --- Roadmap.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Roadmap.md diff --git a/Roadmap.md b/Roadmap.md new file mode 100644 index 0000000..6f60e40 --- /dev/null +++ b/Roadmap.md @@ -0,0 +1,48 @@ +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 \ No newline at end of file