JSON zu Entitäten in vielen Sprachen

Lokale Verarbeitung
app.codegen.view

Daten auch über #data={"name":"Ada"} oder #url=... einfügen; nach dem Lesen wird die Adressleiste geleert.

Beispiel-JSON einfügen, Nesting ableiten, Typen oder Entitätsklassen für TypeScript, Go, Java und mehr. Typisch «zuerst API, dann Modell». Sprache im Dropdown des Arbeitsbereichs wechseln – dieselbe Datenbasis, neu erzeugt.

Typableitung

Aus Werten string / number / boolean / array / object. Nested Objekte werden eigene Typen, weniger any.

Leere Arrays, null, gemischte Shapes in einem Array: von Hand prüfen.

Nesting in Klassen

Tiefe Objekte werden meist eigene Typen, nicht alles any. Gerüst nach Team-Namensregeln umbenennen.

20 Sprachen für Backend und Client – nicht für jede Sprache eine andere Website.

Trotzdem kurz prüfen

null und gemischte Arrays bestätigen. Datum, Betrag, Enums kennt ein Beispiel nicht präzise.

Erzeugter Code geht nicht an einen Server.

Beispiel

Beispiel-JSON
{
  "id": 1,
  "title": "hello",
  "tags": ["json", "tools"]
}
Mögliches TypeScript
interface Root {
  id: number
  title: string
  tags: string[]
}
Welche Sprachen?

TypeScript, Java, Go, Python, C#, Rust, Kotlin, Swift und insgesamt 20 – im Arbeitsbereich umschalten.

Geht erzeugter Code an einen Server?

Nein. Ableitung und Templates laufen im Browser.

Produktionsreife Modelle?

Als Entwurf. Validierung, Serialisierungsannotationen, optionale Felder und Namensstil ergänzen.

Ungültige Feldnamen?

Möglichst gültige Bezeichner der Zielsprache. Keyword-Konflikte von Hand umbenennen.

Empfohlener Ablauf

  1. Beispiel-JSON mit vollständigen Feldern (inkl. Nesting und Arrays).
  2. Zuerst TypeScript, dann die tatsächlich genutzte Sprache.
  3. Ins Projekt kopieren; Nullwerte, Daten und Enums ergänzen.
  4. Nach API-Änderungen Diff gegen das Sample, die kollidierende Schicht neu erzeugen.

Der Generator weiß nicht, dass «diese Zahl ein Betrag ist». Semantik von Menschen nachtragen – Entwurf nicht als Vertrag behandeln.