Skip to content

Latest commit

 

History

History
19 lines (11 loc) · 1.54 KB

freertos-lib-corejson.md

File metadata and controls

19 lines (11 loc) · 1.54 KB

coreJSON library

Introduction

JSON (JavaScript Object Notation) is a human-readable data serialization format. It is widely used to exchange data, such as with the AWS IoT Device Shadow service, and is part of many APIs, such as the GitHub REST API. JSON is maintained as a standard by Ecma International.

The coreJSON library provides a parser that supports key lookups while strictly enforcing the ECMA-404 Standard JSON Data Interchange syntax. The library is written in C and designed to comply with ISO C90 and MISRA C:2012. It has proofs showing safe memory use and no heap allocation, making it suitable for IoT microcontrollers, but also fully portable to other platforms.

Memory use

The coreJSON library uses an internal stack to track nested structures in a JSON document. The stack exists for the duration of a single function call; it is not preserved. Stack size may be specified by defining the macro, JSON_MAX_DEPTH, which defaults to 32 levels. Each level consumes a single byte.


Code Size of coreJSON (example generated with GCC for ARM Cortex-M) File With -O1 Optimization With -Os Optimization
core_json.c 2.9K 2.4K
Total estimates 2.9K 2.4K