JSON-inndata

C-utdata

Hva er JSON til C?

Å integrere en REST API eller lese en konfigurasjonsfil i C betyr at du trenger struct-definisjoner som samsvarer med JSON-en — å skrive dem for hånd for nestede payloads er et reelt tidssvin. Dette verktøyet leser din JSON (ECMA-404) og produserer typedef struct-definisjoner klar til å lime inn i et C-prosjekt. Det følger nøkkel/verdi-mappingen som cJSON og json-c forventer, og overholder RFC 8259-standarden. Alt kjører i nettleseren.

Konvertering skjer i nettleseren din. Sett struct-navnet i konfigpanelet. Ingenting sendes til en server. De genererte strukturene fungerer med C-prosjekter. For C++, bruk JSON til C++ for klasser og std::vector.

Slik bruker du verktøyet

1

Lim inn eller last opp JSON

Lim inn JSON-en din eller last opp en fil. Sett struct-navnet i konfigpanelet. Ugyldig JSON viser en feil. Bruk JSON-validator for å sjekke syntaks først.

2

Se gjennom C-utdataene

Høyre panel viser genererte C-strukturer. Bruk cJSON eller json-c til å parse JSON og fylle disse strukturene. Du må håndtere minne når du fyller strenger og arrayer.

3

Kopier eller last ned

Bruk Kopier eller Last ned. For å formatere JSON først, bruk JSON-formaterer. For validering, bruk JSON-validator.

JSON til C-eksempler

Her er et eksempel på generering av C-strukturer fra et JSON-objekt.

Eksempel: Abonnentpost

JSON-inndata:

Inndata

Generert C-utdata:

Utdata

Når JSON til C hjelper

Når du skriver innebygde systemer, fastvare eller eldre C-kode som bruker REST-API-er eller konfigurasjonsfiler, trenger du struct-definisjoner for JSON-en. Å lime inn et eksempel her gir deg C-strukturer du kan bruke med cJSON eller json-c. Å skrive strukturer manuelt for kompleks nestet JSON er feilutsatt; dette verktøyet utleder strukturen fra eksemplet ditt. For å trekke ut spesifikke verdier først, bruk jq.

Ofte stilte spørsmål

Hvordan konverterer jeg JSON til en C struct?

Lim inn JSON ovenfor og verktøyet genererer typedef struct umiddelbart. Bruk cJSON eller json-c for å parse JSON og fylle struct-ene.

Hvilket JSON-bibliotek for C?

cJSON — enkeltfils-bibliotek ideell for innebygde. json-c for Unix/Linux-prosjekter.

Er JSON-dataene mine private?

Ja. All konvertering skjer i nettleseren. Ingen data sendes til noen server.

Fungerer det for innebygde systemer?

Absolutt. De genererte struct-ene er ren C89/C99. cJSON er designet for begrensede innebygde miljøer.

Hvordan håndteres nestede JSON-objekter?

Nestede objekter blir nestede typedef struct. Arrays blir peker-typer.

Relaterte verktøy

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