/async_json

Async utilities for json handling

Primary LanguageC++Boost Software License 1.0BSL-1.0

Async JSON

A library for parsing json in parts, avoiding the need to keep the complete document in memory. The parsing works through a statemachine with a state stack for nested arrays and objects.

ATTENTION

In the current state " escape sequences are supported but not comfortable replaced like in other parsers. That means that the user has to expect escape sequences in string views of the original content. The conversion code provided in async_json/string_converter.hpp can be used to replace the escape sequences.

TODO:

  • improve the event handler
  • provide nicer utilities to optionally convert \u unicode escape symbols and similar
  • optimize binary size and performance by improving hsm
  • find a better way to parse floats/doubles.
  • printing - or rather transformation support

License

Boost Software License.

Dependencies

project(your_project LANGUAGES CXX)
cmake_minimum_required(VERSION 3.14)
cmake_policy(SET CMP0057 NEW)
cmake_policy(SET CMP0048 NEW)
include(cmake/CPM.cmake)
cpmaddpacakge("gh:APokorny/async_json@0.3.0") 
  ...