coreJSON 库 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

coreJSON 库

Introduction

JSON (JavaScript 对象表示法) 是一种人类可读的数据序列化格式。它被广泛用于交换数据,例如与 AWS IoT Device Shadow 服务交换,是许多 APIs 的一部分,例如 GitHub REST API。JSON 是 Ecma International 以标准形式维护的。

库提供了一个分析程序,它支持密钥查找,同时严格实施 coreJSONECMA-404 标准 JSON 数据交换语法该库用 C 编写,其设计符合 ISO C90 和 MISRA C:2012 标准。它具有显示安全内存使用的安全,没有堆分配,因此适用于 IoT 微控制器,但也可以完全移植到其他平台。

内存使用

库使用内部堆栈来跟踪 JSON 文档中的嵌套结构。coreJSON堆栈在单个函数调用的持续时间内存在;它不会保留。定义宏 JSON_MAX_DEPTH 可以指定堆栈大小,宏默认为 32 个级别。每个关卡使用单个字节。

------------------------------------------------------------------ | Code Size of coreJSON | | (example generated with GCC for ARM Cortex-M) | |----------------------------------------------------------------| | File | With -O1 Optimisation | With -Os Optimisation | |----------------|-----------------------|-----------------------| | core_json.c | 2.5K | 1.9K | |----------------|-----------------------|-----------------------| | Total estimate | 2.5K | 1.9K | ------------------------------------------------------------------