/lwjson

Lightweight JSON parser for embedded systems

Primary LanguageCMIT LicenseMIT

Lightweight JSON text parser

Library provides generic JSON text parser, that is optimized for embedded systems. Supports streaming parsing or classic parsing with full JSON data available in one big linear memory. First one being optimized for ultra small microcontrollers, second one being ready for PC applications - or simply when several kB of RAM memory is available at any given point of time

Read first: Documentation

Features

  • Written in C (C11), compatible with size_t for size data types
  • RFC 4627 and RFC 8259 compliant
  • Based on static token allocation with optional application dynamic pre-allocation
  • No recursion during parse operation
  • Re-entrant functions
  • Zero-copy, no malloc or free functions used
  • Supports streaming parsing as secondary option
  • Optional support for inline comments with /* comment... */ syntax between any blank region of input string
  • Advanced find algorithm for tokens
  • Test coverage is available
  • User friendly MIT license

Contribute

Fresh contributions are always welcome. Simple instructions to proceed:

  1. Fork Github repository
  2. Follow C style & coding rules already used in the project
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request