

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Biblioteca coreJSON
<a name="freertos-lib-corejson"></a>

**nota**  <a name="out-of-date-message"></a>
O conteúdo desta página pode não ser up-to-date. Consulte a [página da biblioteca do FreeRTOS.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) para obter a atualização mais recente.

## Introdução
<a name="freertos-corejson-introduction"></a>

JSON (JavaScript Object Notation) é um formato de serialização de dados legível por humanos. É amplamente usado para trocar dados, como com o [serviço AWS IoT Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html), e faz parte de muitos APIs, como a API GitHub REST. O JSON é mantido como padrão pela Ecma International.

A biblioteca coreJSON fornece um analisador que é compatível com as pesquisas de chaves enquanto impõe exclusivamente a [Sintaxe de intercâmbio de dados JSON ECMA-404 padrão](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). A biblioteca é escrita em C e projetada para estar em conformidade com ISO C90 e MISRA C:2012. Ela tem [provas](https://www.cprover.org/cbmc/) que mostram o uso seguro da memória e a ausência de alocação de heap e isso a torna adequada para microcontroladores do IoT, mas também totalmente portável para outras plataformas.

## Uso de memória
<a name="freertos-corejson-memory"></a>

A biblioteca coreJSON usa uma pilha interna para rastrear estruturas aninhadas em um documento JSON. A pilha existe durante o período de uma única chamada de função; ela não é preservada. O tamanho da pilha pode ser especificado definindo a macro `JSON_MAX_DEPTH`, cujo padrão é 32 níveis. Cada nível consome um único byte.


****  

| Tamanho de código de coreJSON (exemplo gerado com GCC para ARM Cortex-M) | Arquivo | Com otimização -O1 | Com otimização: Os | 
| --- | --- | --- | --- | 
| core\$1json.c | 2,9 K | 2,4 K | 
| Estimativas totais | 2,9 K | 2,4 K | 