Wandelt ein JSON-Objekt oder ein Array von Objekten in ein TypeScript-Interface, eine Python-Klasse, ein Pydantic-Modell oder SQL um. Die formatierte Ausgabe bleibt beim JSON-Formatierer
Eine API-Probe ist oft ein JSON-Objekt oder eine Liste von Objekten. Diese Seite schreibt daraus ein TypeScript-Interface, eine Python-Klasse, ein Pydantic-Modell oder ein CREATE TABLE und ein INSERT je Objekt. Formatierung und Reparatur bleiben beim JSON-Formatierer.
{"id":1,"name":"Ada","ok":true,"tags":["a","b"],"meta":{"n":2}}, setzt den Modus auf TypeScript-Schnittstelle, Name auf Item und lässt beide Kästchen an. Das Ergebnis enthält export interface Item mit id?: number, name?: string, ok?: boolean, tags?: string[] und meta?: ItemMeta, plus export interface ItemMeta mit n?: number.item. Die Spalten sind id BIGINT NOT NULL, name TEXT NOT NULL, ok BOOLEAN NOT NULL, tags TEXT NOT NULL und meta TEXT NOT NULL. Das INSERT ist 1, 'Ada', 1, '["a","b"]', '{"n":2}'.from dataclasses import dataclass und from typing import Optional, List, dann die Klasse @dataclass ItemMeta mit n: Optional[int] = None, dann die Klasse @dataclass Item mit id, name, ok, tags: Optional[List[str]] = None und meta: Optional[ItemMeta] = None. Wechseln Sie den Modus zu Pydantic-Modell: Die Importe fügen from pydantic import BaseModel hinzu, und beide Klassen erweitern BaseModel, ohne @dataclass. Beispiel anzeigen bleibt bei TypeScript-Schnittstelle.Die Wurzel muss ein Objekt oder ein Array von Objekten sein. Eine Zahl, eine Zeichenkette oder ein Array von Zahlen endet mit einem Fehler. Ein Objekt ohne Schlüssel endet mit einem Fehler.
TypeScript nutzt boolean, number und string. Ein Array eines dieser Typen wird T[]. Ein leeres Array wird unknown[]. Ein verschachteltes Objekt wird ein weiteres Interface: Elternname plus Schlüssel, also ist meta unter Item gleich ItemMeta. Gemischte Typen werden unknown. Optionale Eigenschaften setzt ? an jedes Feld. Ist die Wurzel ein Array und fehlt ein Schlüssel in manchen Objekten, ist das Feld optional, auch wenn Optionale Eigenschaften aus ist. export schreibt export interface. Eine Array-Wurzel fügt den Kommentar // JSON root is Name[] an.
SQL setzt Name in Kleinbuchstaben und macht aus anderen Zeichen Unterstriche, aus Order Line wird also order_line. Ganze Zahlen sind BIGINT, andere Zahlen sind DOUBLE, Booleans sind BOOLEAN und werden als 1 oder 0 geschrieben, Zeichenketten sind TEXT. Ein verschachteltes Objekt oder Array ist TEXT mit dem JSON-Text. Ein einfaches Anführungszeichen in einer Zeichenkette wird verdoppelt. Ein Schlüssel, der null ist oder in einer Zeile fehlt, ist nullable. Jedes Objekt ist ein INSERT.
Es ist ein Objekt, also nennt TypeScript es ItemMeta. In SQL ist dasselbe Feld TEXT mit {"n":2}.
Jedes Objekt wird eine Zeile. Eine Liste von Zahlen hat keine Spalten.