Input JSON

Output C

Cos'è JSON do C?

C non ha tipi JSON nativi. Librerie come json-c o cJSON analizzano JSON in fase di runtime. Questo narzedzie genera struct C dal tuo JSON in modo da poter mappare i dane 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 do C++ per classi e std::vector.

Jak uzywac tego narzedzia

1

Incolla o Wczytaj JSON

Incolla il tuo JSON o carica un plik. Imposta il nome della struct nel pannello di configurazione. Il JSON nieprawidlowy mostrerà un errore. Usa il Walidator 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

Kopiuj o Pobierz

Usa <strong>Kopiuj</strong> o <strong>Pobierz</strong>. Per formattare prima il JSON, usa il Formater JSON. Per la validazione, usa il Walidator JSON.

Esempi da JSON do C

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

Przyklad: Record abbonato

Input JSON:

Input

Output C generato:

Output

Quando JSON do C Aiuta

Quando si scrivono sistemi embedded, firmware o codice C legacy che consuma API REST o plik 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 narzedzie deduce la struttura dal campione. Per estrarre prima valori specifici, usa jq.

Czesto zadawane pytania

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-plik 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 dane 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).

Powiazane narzedzia

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