Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cobyj33/jsxxn

A C++17 Hobbyist JSON Parser
https://github.com/cobyj33/jsxxn

cpp cpp-json cpp-json-api cpp17 cpp17-library ecma-404 hobby-project json json-data json-parser json-prettifier rfc-7159 rfc-8259 utf-8

Last synced: about 1 month ago
JSON representation

A C++17 Hobbyist JSON Parser

Awesome Lists containing this project

README

        

# jsxxn

A **hobby** JSON parser for C++ 17 - built with the STL
Library and based on the [RFC 8259](https://www.rfc-editor.org/rfc/rfc8259)
JSON standard.

I wanted to create a json parser that would be well-documented for others to
learn from, mostly targeted toward people that have never written code to parse
data before.

> Note that there are much more tested C++ JSON parsers out there!
> * [simdjson/simdjson](https://github.com/simdjson/simdjson.git)
> * [nlohmann/json](https://github.com/nlohmann/json)
> * [Tencent/rapidjson](https://github.com/Tencent/rapidjson/)
> * [open-source-parsers/jsoncpp](https://github.com/open-source-parsers/jsoncpp)
> jsxxn one was created mostly as a challenge and a learning experience!

While jsxxn does pass all of its given tests,
not every edge case has been fuzzed or tested to a 100%
confidence degree as of yet.

Example usage can be found in the examples/ directory

## Resources

### Resources - Standards, Grammars, and Descriptions

* [json.org](https://www.json.org/json-en.html)
* [RFC 8259](https://www.rfc-editor.org/rfc/rfc8259)
* [ECMA 404 JSON Standard](https://ecma-international.org/publications-and-standards/standards/ecma-404/)
* [RFC 4627](https://www.ietf.org/rfc/rfc4627.txt)

### Resources - Blog Posts

* [Parsing JSON is a Minefield - Nicolas Seriot](https://seriot.ch/projects/parsing_json.html)

### Resources - Test Suites

* [nst/JSONTestSuite](https://github.com/nst/JSONTestSuite)
* [JSXXN_checker](https://json.org/JSXXN_checker/)

### Resources - Benchmark Suites

* [miloyip/nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark)