JSON zu Typen: TypeScript, Swift, Kotlin und mehr

JSON-Beispiel einfügen und Typdefinitionen in 8 Sprachen erhalten, erzeugt mit quicktype.

Läuft vollständig in deinem Browser. Eingaben werden weder gesendet noch gespeichert.

So funktioniert es

  1. Ein JSON-Beispiel, etwa eine API-Antwort, links einfügen.
  2. Zielsprache wählen und bei Bedarf den Namen des obersten Typs ändern.
  3. Auf Umwandeln klicken. Verschachtelte Objekte werden eigene Typen.
  4. Code kopieren oder als Quelldatei herunterladen.

Modelltypen für jede API-Antwort von Hand zu schreiben kostet Zeit und führt leicht zu Fehlern. Dieser JSON-zu-Typen-Konverter liest ein Beispiel und erzeugt passenden Code: TypeScript-Interfaces, Swift-Structs mit Codable, Kotlin-Data-Classes, Dart-Klassen, Go-Structs mit json-Tags, Python-Dataclasses sowie C#- und Java-Klassen. Jedes verschachtelte Objekt wird zu einem eigenen benannten Typ, Arrays werden zu typisierten Listen, und Schlüsselnamen folgen den Namenskonventionen der Zielsprache, wobei der ursprüngliche JSON-Schlüssel erhalten bleibt, wo die Sprache ihn braucht.

Die Umwandlung übernimmt quicktype-core, die Open-Source-Engine von quicktype (Apache License 2.0), die beim ersten Klick auf Umwandeln in diese Seite geladen wird. Mit Nur Typen erhalten Sie reine Typdeklarationen. Bei Swift bleiben Codable und CodingKeys erhalten, nur die Komfort-Initialisierer entfallen. Ohne Haken kommen auch die Parsing-Hilfen hinzu, die quicktype standardmäßig schreibt, etwa die TypeScript-Klasse Convert, Jackson-Annotationen für Kotlin oder from_dict-Funktionen in Python.

Typen werden aus dem Beispiel abgeleitet, daher sollte es alle Felder zeigen. Ein null-Wert ergibt einen optionalen oder any-Typ, Zahlen ohne Nachkommastellen werden zu Ganzzahlen, und gleich aufgebaute Objekte an mehreren Stellen können zu einem Typ zusammengeführt werden. Ihr JSON verlässt den Browser nicht: Analyse und Codeerzeugung laufen auf Ihrem Gerät, nichts wird hochgeladen oder gespeichert.

Häufige Fragen

Wird mein JSON an einen Server gesendet?

Nein. quicktype-core läuft in Ihrem Browser. Das eingefügte JSON wird weder hochgeladen noch gespeichert.

Warum ist ein Feld any oder optional?

Im Beispiel war der Wert null oder fehlte in manchen Objekten. Mit echten Werten im Beispiel entsteht ein konkreter Typ.

Nutzt die Swift-Ausgabe Codable?

Ja. Die Swift-Structs erfüllen Codable und enthalten CodingKeys, die auf die ursprünglichen JSON-Schlüssel verweisen.

Gibt es Kotlin-Data-Classes ohne Bibliothek?

Ja. Lassen Sie Nur Typen aktiviert, dann kommen reine Data Classes. Ohne Haken kommen Jackson-Annotationen und Hilfsfunktionen dazu.

Ähnliche Tools