

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# libreria CoreJSON
<a name="freertos-lib-corejson"></a>

**Nota**  <a name="out-of-date-message"></a>
Il contenuto di up-to-date questa pagina potrebbe non esserlo. Consulta la [pagina della libreria di Freertos.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) per l'ultimo aggiornamento.

## Introduzione
<a name="freertos-corejson-introduction"></a>

JSON (JavaScript Object Notation) è un formato di serializzazione dei dati leggibile dall'uomo. È ampiamente utilizzato per lo scambio di dati, ad esempio con il [servizio AWS IoT Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html), e fa parte di molti altri APIs, come l'API GitHub REST. JSON è mantenuto come standard da Ecma International.

[La libreria CoreJSON fornisce un parser che supporta le ricerche di chiavi applicando rigorosamente la sintassi JSON Data Interchange standard ECMA-404.](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) La libreria è scritta in C e progettata per essere conforme a ISO C90 e MISRA C:2012. Ha [prove](https://www.cprover.org/cbmc/) che dimostrano l'uso sicuro della memoria e l'assenza di allocazione dell'heap, il che lo rende adatto ai microcontrollori IoT, ma anche completamente portatile su altre piattaforme.

## Uso della memoria
<a name="freertos-corejson-memory"></a>

La libreria CoreJSON utilizza uno stack interno per tenere traccia delle strutture annidate in un documento JSON. Lo stack esiste per la durata di una singola chiamata di funzione; non viene mantenuto. La dimensione dello stack può essere specificata definendo la macro`JSON_MAX_DEPTH`, che per impostazione predefinita è 32 livelli. Ogni livello consuma un singolo byte.


****  

| Dimensione del codice di CoreJSON (esempio generato con GCC per ARM Cortex-M) | File | Con ottimizzazione -O1 | Con ottimizzazione -Os | 
| --- | --- | --- | --- | 
| core\$1json.c | 2,9K | 2,4K | 
| Stime totali | 2,9 K | 2,4K | 