View a markdown version of this page

Biblioteca coreJSON - FreeRTOS

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

nota

O conteúdo desta página pode não estar atualizado. Consulte a página da FreeRTOS.org biblioteca para obter a atualização mais recente.

Introdução

JSON (JavaScript Object Notation) é um formato de serialização de dados legível por humanos. Ela é amplamente usada para trocar dados, como com o serviço AWS IoT Device Shadow, e faz parte de muitas APIs, como a API GitHub REST. O JSON é mantido como padrão pela Ecma International.

A biblioteca CoreJSON fornece um analisador que oferece suporte a pesquisas de chaves e, ao mesmo tempo, aplica estritamente a sintaxe ECMA-404 padrão do JSON Data Interchange. A biblioteca é escrita em C e projetada para estar em conformidade com ISO C90 e C:2012 MISRA. Ela tem provas 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 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 do código do CoreJSON (exemplo gerado com GCC para ARM) Cortex-M
Arquivo Com otimização -O1 Com otimização: Os
core_json.c 2,9 K 2,4 K
Estimativas totais 2,9 K 2,4 K