Input JSON

Output C

Cos'è JSON a C?

C non ha tipi JSON nativi. Librerie come json-c o cJSON analizzano JSON in fase di runtime. Questo strumento genera struct C dal tuo JSON in modo da poter mappare i dati analizzati a strutture tipizzate. La specifica JSON definisce il formato di input.

La conversione viene eseguita nel tuo browser. Imposta il nome della struct nel pannello di configurazione. Niente viene inviato a un server. Le struct generate funzionano con progetti C. Per C++, usa JSON a C++ per classi e std::vector.

Come Usare Questo Strumento

1

Incolla o Carica JSON

Incolla il tuo JSON o carica un file. Imposta il nome della struct nel pannello di configurazione. Il JSON non valido mostrerà un errore. Usa il Validatore JSON per controllare prima la sintassi.

2

Esamina l'Output C

Il pannello destro mostra le struct C generate. Usa cJSON o json-c per analizzare JSON e popolare queste struct. È necessario gestire la memoria quando si popolano stringhe e array.

3

Copia o Scarica

Usa <strong>Copia</strong> o <strong>Scarica</strong>. Per formattare prima il JSON, usa il Formattatore JSON. Per la validazione, usa il Validatore JSON.

Esempi da JSON a C

Ecco un esempio di generazione di struct C da un oggetto JSON.

Esempio: Record abbonato

Input JSON:

Input

Output C generato:

Output

Quando JSON a C Aiuta

Quando si scrivono sistemi embedded, firmware o codice C legacy che consuma API REST o file di configurazione, sono necessarie definizioni di struct per il JSON. Incollare un campione qui fornisce struct C da usare con cJSON o json-c. Scrivere manualmente struct per JSON annidato complesso è soggetto a errori; questo strumento deduce la struttura dal campione. Per estrarre prima valori specifici, usa jq.

Domande Frequenti

Quale libreria JSON per C?

cJSON è leggera e ampiamente usata. json-c è un'altra opzione. Entrambe analizzano JSON in un albero che puoi percorrere per riempire le struct. cJSON è single-file e facile da incorporare.

Come gestisco stringhe e array?

Le stringhe vengono mappate a char* o buffer fissi. Gli array vengono mappati a puntatori o array di dimensione fissa. È necessario gestire la memoria quando si popolano le struct. Usa cJSON_GetObjectItem e cJSON_GetArrayItem per attraversare e copiare i valori.

I miei dati sono privati?

Sì. La generazione viene eseguita interamente nel tuo browser. Nessun JSON o codice viene inviato a server.

Posso usarlo in sistemi embedded?

Sì. cJSON è progettato per l'uso embedded. Le struct generate sono C puro. Potrebbe essere necessario regolare le dimensioni per buffer fissi o usare allocazione dinamica dove supportata.

Oggetti annidati vs puntatori?

Gli oggetti JSON annidati diventano struct annidate o puntatori a struct. Il generatore produce la struttura; tu decidi la strategia di allocazione (stack, heap o statica).

Strumenti Correlati

cJSON. json-c. specifica JSON. MDN JSON. RFC 8259.