View a markdown version of this page

coreJSON 库 - FreeRTOS

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

coreJSON 库

注意

此页面上的内容可能不是最新的。请参阅FreeRTOS.org 图书馆页面以获取最新更新。

简介

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

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

内存使用

coreJson 库使用内部堆栈来跟踪 JSON 文档中的嵌套结构。堆栈在单个函数调用期间存在;它不会被保留。堆栈大小可以通过定义宏 JSON_MAX_DEPTH(默认为 32 级)来指定。每一级消耗一个字节。

CoreJson 的代码大小(使用适用于 ARM 的 GCC 生成的示例) Cortex-M
文件 使用 -O1 优化 使用 -Os 优化
core_json.c 2.9K 2.4K
估计总数 2.9K 2.4K