Quality RTOS & Embedded Software

LIBRARIES
NOTE: The coreJSON library will be included in the upcoming FreeRTOS LTS release. It is now available in the main FreeRTOS download and GitHub

coreJSON library

Introduction

JSON (JavaScript Object Notation) is a human-readable data serialization format which comes from JavaScript. 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 standard (ECMA-404: The JSON Data Interchange Standard). 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 Usage

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)
FileWith -O1 OptimisationWith -Os Optimisation
core_json.c2.2K1.8K
Total estimate (configurations defined here)2.2K1.8K
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.