View a markdown version of this page

CoreJSON-Bibliothek - FreeRTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CoreJSON-Bibliothek

Anmerkung

Der Inhalt dieser Seite ist möglicherweise nicht aktuell. Das neueste Update finden Sie auf der FreeRTOS.org Bibliotheksseite.

Einführung

JSON (JavaScript Object Notation) ist ein menschenlesbares Datenserialisierungsformat. Es wird häufig für den Datenaustausch verwendet, z. B. mit dem AWS IoT Device Shadow-Dienst, und ist Teil vieler APIs, z. B. der GitHub REST-API. JSON wird von Ecma International standardmäßig verwaltet.

Die CoreJSON-Bibliothek bietet einen Parser, der Schlüsselsuchvorgänge unterstützt und gleichzeitig die ECMA-404 standardmäßige JSON Data Interchange-Syntax strikt durchsetzt. Die Bibliothek ist in C geschrieben und so konzipiert, dass sie ISO C90 und MISRA entspricht. C:2012 Es verfügt über Beweise für eine sichere Speichernutzung und keine Heap-Zuweisung, sodass es für IoT-Mikrocontroller geeignet ist, aber auch vollständig auf andere Plattformen portierbar ist.

Speichernutzung

Die CoreJSON-Bibliothek verwendet einen internen Stack, um verschachtelte Strukturen in einem JSON-Dokument zu verfolgen. Der Stapel existiert für die Dauer eines einzelnen Funktionsaufrufs; er wird nicht beibehalten. Die Stackgröße kann durch die Definition des Makros angegeben werdenJSON_MAX_DEPTH, das standardmäßig 32 Stufen hat. Jede Ebene verbraucht ein einzelnes Byte.

Codegröße von CoreJSON (mit GCC für ARM generiertes Beispiel) Cortex-M
Datei Mit -O1-Optimierung Mit -Os-Optimierung
core_json.c 2,9 K 2,4 K
Schätzungen insgesamt 2,9 K 2,4 K