JSON-naar-code-converter

Zet een JSON-voorbeeld om in TypeScript-interfaces, Go-structs, Rust-serde-structs, een Zod-schema of JSON Schema.

Tool laden…

JSON-naar-code-converterPlak een representatief JSON-voorbeeld en krijg direct sterk getypeerde code in je doeltaal: TypeScript-interfaces, Go-structs met json-tags, Rust-serde-structs, een Zod-schema of JSON Schema draft-07. De typen worden rechtstreeks uit de data afgeleid – geneste objecten worden benoemde typen, arrays leiden hun elementtype af, en velden die niet in elk array-item voorkomen, worden als optioneel gemarkeerd. Alles draait in je browser, dus je JSON wordt nooit geüpload.

Wat is JSON-naar-code-converter?

JSON naar code is een gratis typegenerator in de browser die een JSON-voorbeeld leest en het bijbehorende datamodel in de taal van jouw keuze schrijft. Kies een doel in het menu Converteren naar – TypeScript-interface, Go-struct, Rust-serde-struct, Zod-schema of JSON Schema – en stel een Naam van het roottype in om het hoogste type te benoemen. De inferentie-engine doorloopt de JSON: strings, getallen, booleans en null worden aan native typen gekoppeld, geneste objecten worden tot eigen benoemde typen verheven, arrays nemen hun elementtype over, en sleutels die in sommige array-elementen ontbreken, worden optioneel. Frontend- en backend-ontwikkelaars gebruiken het om DTO's uit API-responses op te zetten, validatieschema's te schetsen en client- en servertypen synchroon te houden zonder boilerplate met de hand te schrijven.

JSON-naar-code-converter gebruiken

  1. Plak of typ een representatief JSON-voorbeeld in het invoerveld, of klik op Voorbeeld om er een te laden.
  2. Open Instellingen en kies een doel onder Converteren naar: TypeScript, Go, Rust, Zod of JSON Schema.
  3. Stel de Naam van het roottype in om de naam van de interface, struct of het schema op het hoogste niveau te bepalen.
  4. Lees de gegenereerde code in het uitvoerpaneel – die wordt automatisch vernieuwd terwijl je de JSON bewerkt of opties wijzigt.
  5. Bekijk de statistiek Typen om te zien hoeveel benoemde typen zijn afgeleid, en klik vervolgens op Kopiëren om het resultaat over te nemen.

Voorbeelden

Object naar TypeScript-interface

Invoer

{ "id": 1, "name": "Ada", "active": true }

Uitvoer

export interface Root {
  id: number;
  name: string;
  active: boolean;
}

Genest object naar Go-struct

Invoer

{ "user": { "age": 30 } }

Uitvoer

type User struct {
	Age float64 `json:"age"`
}

type Root struct {
	User User `json:"user"`
}

Array met een ontbrekende sleutel naar een Zod-schema

Plak een array zoals [{"a":1,"b":2},{"a":3}] en zet Converteren naar op Zod. Omdat het tweede element geen b heeft, markeert de generator b als .optional() in het afgeleide z.object, zodat het schema beide vormen accepteert.

Veelgestelde vragen

Wordt mijn JSON ergens geüpload?
Nee. Het parsen en de codegeneratie draaien volledig in je browser met een ingebouwde inferentie-engine. Je JSON verlaat je apparaat nooit en de tool blijft offline werken.
Welke doelen worden ondersteund?
TypeScript-interfaces, Go-structs (met json-tags en omitempty voor optionele velden), Rust-serde-structs (met Serialize/Deserialize-derives en rename wanneer een veld wordt hernoemd), Zod-schema's en JSON Schema draft-07. De tool genereert alleen wat het betrouwbaar uit je voorbeeld kan afleiden.
Hoe worden optionele velden bepaald?
Op basis van je voorbeeld. Wanneer een array objecten bevat en een sleutel in sommige ervan ontbreekt, wordt die sleutel als optioneel afgeleid. Verder wordt elke sleutel die in het voorbeeld aanwezig is, als verplicht behandeld.
Hoe zit het met getallen, null en gemengde typen?
Getallen worden gekoppeld aan het floattype van de taal (number, float64, f64), null wordt per doel gekoppeld aan een nullable- of waardetype, en een veld dat tussen voorbeelden verschillende typen bevat, valt terug op een tolerant type (unknown, interface{}, serde_json::Value) in plaats van te gokken.
Waarom is mijn uitvoer leeg of toont die een fout?
De invoer moet geldige JSON zijn. Als het parsen mislukt, toont de tool de fout met regel en kolom wanneer beschikbaar; herstel de gemarkeerde plek en de code wordt direct opnieuw gegenereerd.

Gerelateerde tools