Schemainferensverktyg
Varje ny integration börjar likadant: ett API returnerar en JSON-klump och du behöver en modell att lagra den i. Att skriva 20 fält för hand är tråkigt och felbenäget. Det här verktyget tolkar ett JSON-exempelobjekt, väljer en kolumntyp för varje nyckel och skapar ett klart-att-klistra-in schema i det format du vill ha: SQL CREATE TABLE, Mongoose-schema eller Sequelize-modelldefinition.
Så här härleder du ett schema från JSON
-
1
Klistra in ett exempelobjekt
Ange ett JSON-objekt, eller en array av objekt (det första objektet i arrayen läses). Använd en komplett post med alla fält ifyllda så att varje kolumn får en typ.
-
2
Välj utdataformat
SQL CREATE TABLE (Postgres- / MySQL- / SQLite-stil), Mongoose för Node.js-appar med MongoDB eller Sequelize för relationella Node.js-appar.
-
3
Namnge tabellen eller modellen
Anger tabellnamnet i SQL-utdatan, eller schema- eller modellnamnet i Mongoose- och Sequelize-utdatan.
-
4
Kopiera det genererade schemat
Klistra in det direkt i en migration eller en modellfil som utgångspunkt.
Så härleds typerna
Inferensen är en bästa gissning. Verktyget läser värdena i ett exempelobjekt och väljer en kolumntyp för varje nyckel utifrån värdet det ser. Det jämför inte poster och gissar inte vilka fält som är valfria, så ge det ett komplett och representativt objekt.
Typmappning
| JSON-värde | SQL-typ | Mongoose-typ | Sequelize-typ |
|---|---|---|---|
42 (heltal) |
INTEGER | Number | DataTypes.INTEGER |
3.14 (decimaltal) |
DECIMAL(10,2) | Number | DataTypes.FLOAT |
"hej" (kort sträng) |
VARCHAR(255) | String | DataTypes.STRING |
| sträng längre än 255 tecken | TEXT | String | DataTypes.STRING |
"2026-04-18T10:00:00Z" |
TIMESTAMP | Date | DataTypes.DATE |
"2026-04-18" |
DATE | Date | DataTypes.DATEONLY |
true / false |
BOOLEAN | Boolean | DataTypes.BOOLEAN |
null |
TEXT | String | DataTypes.STRING |
[1, 2, 3] (array) |
JSON | Object | DataTypes.JSON |
{ "nested": ... } (objekt) |
JSON | Object | DataTypes.JSON |
Vad SQL-utdatan lägger till
SQL CREATE TABLE börjar alltid med en automatiskt räknande primärnyckel:
id INTEGER PRIMARY KEY AUTOINCREMENT,
Mongoose- och Sequelize-utdatan lägger inte till något id-fält, eftersom båda biblioteken skapar ett åt dig.
Standardvärden och gränser att ha i åtanke
- Ett objekt läses. Om du klistrar in en array granskas bara det första elementet, så det är dess fält som definierar hela schemat.
- En saknad nyckel är en saknad kolumn. Fält som inte finns i exempelobjektet syns helt enkelt inte i utdatan.
- Nästlade objekt och arrayer blir en enda JSON-kolumn. Verktyget veckar inte ut dem i undertabeller, underscheman eller främmande nycklar.
- Inga villkor genereras. Kolumner skapas utan
NOT NULL, unikhet eller index, så alla tillåter null tills du stramar åt dem.
Tips för ett renare resultat
- Använd en helt ifylld post. Ett fält som är
nulli ditt exempel typas som text/sträng, vilket sällan är det du vill ha. - Byt namn på reserverade ord efter genereringen. Fält som
type,orderellerusermåste sättas inom citattecken i SQL. - Behandla utdatan som en byggnadsställning. Justera VARCHAR-längder och DECIMAL-precision, lägg till index, markera kolumner som
NOT NULLoch välj riktiga nycklar innan du går i produktion.
Vanliga frågor
Ett nästlat objekt eller en nästlad array mappas till en enda JSON-kolumn (JSON i SQL och Sequelize, ett Object-fält i Mongoose). Verktyget veckar inte ut nästlade strukturer i undertabeller eller underscheman, så du plattar ut eller normaliserar dem själv vid behov.
Nej. Om du klistrar in en array av objekt granskas bara det första objektet och det är dess nycklar som definierar schemat. Se till att den första posten har alla fält du bryr dig om, med ett riktigt värde i var och en.
Nej. Varje kolumn skapas med enbart en typ, så utdatan har inga främmande nycklar, unikhetsvillkor, index eller NOT NULL-satser. Lägg till dem för hand, eftersom de kodar en avsikt som verktyget inte kan återskapa ur ett stickprov.
Välj SQL CREATE TABLE för en migration av en relationsdatabas, Mongoose Schema för en Node.js-app på MongoDB, eller Sequelize Model för en Node.js-app på en relationsdatabas via Sequelize-ORM:en.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
CSS-pilgnerator
Skapa lokalt en CSS-pil med riktning, färg, storlek och ramens tjocklek och kopiera sedan regeln.
E-postvalidator
Validera en e-postadress: RFC 5322-syntaxkontroll, live-slagning av MX-poster samt detaljer om lokal del, domän och längd. Ingen e-post skickas.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Verktyget finns på andra språk
- Alat Inferensi Skema [ID]
- スキーマ推論ツール [JA]
- เครื่องมืออนุมาน Schema [TH]
- 스키마 추론 도구 [KO]
- Narzędzie do wnioskowania schematu [PL]
- Schema-Inferenz-Tool [DE]
- Ferramenta de Inferência de Esquema [PT]
- Công cụ suy luận lược đồ [VI]
- Herramienta de Inferencia de Esquema [ES]
- Outil d'inférence de schéma [FR]
- أداة استنتاج المخطط [AR]
- Schema-inferentie-tool [NL]
- Schema Inference Tool [EN]
- Strumento di Inferenza Schema [IT]
- Инструмент вывода схемы [RU]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]