• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    C
  • License
    MIT License
  • Created almost 4 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lightweight JSON parser for embedded systems

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

More Repositories

1

stm32f429

Keil projects and libraries for STM32F4xx devices
C
2,108
star
2

stm32-usart-uart-dma-rx-tx

STM32 examples for USART using DMA for efficient RX and TX transmission
C
1,247
star
3

c-code-style

Recommended C code style and coding rules for standard C99 or later
Python
994
star
4

lwrb

Lightweight generic ring buffer manager library
C
845
star
5

stm32fxxx-hal-libraries

Libraries for STM32F4xx and STM32F7xx built on HAL drivers from ST
C
755
star
6

stm32-cube-cmake-vscode

STM32, VSCode and CMake detailed tutorial
C
543
star
7

lwesp

Lightweight and versatile AT parser library for ESP8266 and ESP32 devices.
C
437
star
8

lwcell

Lightweight cellular modem host AT library
C
396
star
9

lwgps

Lightweight GPS NMEA parser for embedded systems
C
384
star
10

lwmem

Lightweight dynamic memory manager library for embedded systems with memory constraints. It implements malloc, calloc, realloc and free functions
C
285
star
11

stm32-ws2811-ws2812-ws2812b-ws281x-tim-pwm-dma-timer

WS2811, WS2812, WS2812B or compatible leds driver with STM32, TIM, PWM and DMA with minimum RAM required
C
197
star
12

lwow

Lightweight onewire protocol library optimized for UART hardware on embedded systems
C
183
star
13

lwprintf

Lightweight printf library optimized for embedded systems
C
183
star
14

EasyGUI

Easy GUI for microcontrollers
C
172
star
15

GSM_AT_commands_parser

Platform independent, ANSI C AT commands parser for SIMcom GSM modules
C
171
star
16

lwshell

Lightweight shell implementation for embedded systems
C
125
star
17

lwpkt

Lightweight packet protocol structure for multi-device communication focused on RS-485
C
113
star
18

doxygen-dark-theme

Dark theme for doxygen documentation generator
CSS
89
star
19

stm32h7-dual-core-inter-cpu-async-communication

Inter-CPU asynchronous communication between Cortex-M7 and Cortex-M4 cores on STM32H7 dual core devices
C
79
star
20

lwevt

Lightweight event management system for embedded systems
C
58
star
21

lwutil

Versatile and easy to use C language utility library with functions and macros commonly used in various applications
C
56
star
22

embedded-libs

Libraries for embedded software
C
54
star
23

lwbtn

Lightweight button handler for embedded systems
C
47
star
24

RegExp

Regular expressions library for embedded systems
C
35
star
25

lwdtc

Lightweight date, time & cron utilities for embedded systems
C
33
star
26

lwwdg

Lightweight watchdog for RTOS and embedded systems
C
24
star
27

touchgfx-cmake-vscode-stm32-simulator

TouchGFX simulator development in Visual Studio Code with CMake
C++
8
star
28

docs-majerle

Documentation parent project for docs.majerle.eu
7
star
29

iclocker

Official repository for IC Locker storage
JavaScript
6
star
30

learncpp

Learn C++ random repository
C++
2
star
31

mbedtls_playground

Playground for various mbedTLS test and learning scripts
C
1
star