Naar de inhoud
ToolMug

JSON naar TypeScript converter

Zet een JSON-voorbeeld — een API-respons, een configuratiebestand, een fixture — om in TypeScript-interfaces die je in je code kunt plakken. Geneste objecten krijgen eigen benoemde types, en verschillen tussen array-items worden optionele of union-types.

Draait in je browser: niets wat je invoert wordt geüpload

Zo gebruik je het

  1. Plak een JSON-voorbeeld, of klik op Voorbeeld laden.
  2. Stel de naam van het hoofdtype in.
  3. Kies interfaces of type-aliassen.
  4. Kopieer of download de gegenereerde types.

Opties uitgelegd

Naam van het hoofdtype
Naam van het type op het hoogste niveau, bijvoorbeeld User of ApiResponse. Geneste types worden genoemd naar hun sleutels — address wordt Address, en items in posts worden Post.
type gebruiken in plaats van interface
Genereert type-aliassen (type User = { … }) in plaats van interfaces. Beide werken hetzelfde voor gewone data.

Voorbeelden

{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} wordt:

export interface Owner {
  name: string;
}

export interface Root {
  id: number;
  tags: string[];
  owner: Owner;
}

Veelgestelde vragen

Hoe worden arrays van objecten behandeld?

Alle items worden samengevoegd tot één type. Een sleutel die maar in sommige items voorkomt wordt optioneel (sleutel?), en een waarde die soms null is wordt een union zoals string | null.

Waarom wordt een veld getypeerd als unknown?

Het voorbeeld bevatte hiervoor alleen null, dus het echte type kan niet worden afgeleid. Vervang unknown door het juiste type, of plak een voorbeeld waarin het veld een waarde heeft.

Zijn integers en decimalen verschillende types?

Niet in TypeScript — beide worden number. De Go-, Rust- en Python-uitvoer maakt wel onderscheid.

Wordt mijn JSON geüpload?

Nee. De types worden in je browser gegenereerd, zodat API-respons met echte data op je apparaat blijft.

Privacy

Deze tool draait volledig in je browser. Je bestanden en tekst worden op je eigen apparaat verwerkt en nooit naar onze servers geüpload.

Gerelateerde tools