Naar de inhoud

JSON omzetten naar SQLite

Zet je JSON-bestand neer en krijg een SQLite-script met CREATE TABLE- en INSERT-statements. Elke kolom krijgt een type, en elke correctie wordt vermeld met rij en kolom.

Je bestand
jsonpedidos_2024.jsonVoorbeeldbestand, 771 byte
Je database

4 rijen geconverteerd, 2 correcties, geen afgewezen

Tonen
De eerste rijen van pedidos_2024.json, met elke correctie gemarkeerd
Rij
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for SQLite.

BEGIN;

CREATE TABLE pedidos_2024 (
    pedido TEXT NOT NULL,
    cliente TEXT NOT NULL,
    fecha DATETIME NOT NULL,
    total NUMERIC(6,2) NOT NULL,
    pagado BOOLEAN NOT NULL,
    notas TEXT
);

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, 1, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, 0, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, 1, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, 1, 'Factura con "RFC"');

COMMIT;

Correcties

  1. Voorloopnullen behouden in "pedido": 000481 blijft 000481, opgeslagen als tekst.
  2. "pagado" bevat ja- en nee-woorden (sí), opgeslagen als boolean.

Je bestand wordt op deze computer omgezet en nooit geüpload.

Andere voorbeelden:

Van JSON naar SQLite, kolom voor kolom

Het voorbeeld hierboven, pedidos_2024.json, zoals IntoSQL het voor SQLite schrijft: wat elke kolom in het bestand bevat, welk type ze krijgt en hoe haar eerste waarde in het script terechtkomt.

In het bestandEerste waardeKolomType in SQLiteIn het script
pedido000481pedidoTEXT'000481'
clientePeña MuñozclienteTEXT'Peña Muñoz'
fecha2024-02-03T10:15:00ZfechaDATETIME'2024-02-03 10:15:00+00:00'
total1234.5totalNUMERIC(6,2)1234.5
pagadotruepagadoBOOLEAN1
notas-notasTEXTNULL

Het script in SQLite laden

De download is een standaard .sql-bestand. Voer het uit met de eigen tools van SQLite.

Vanuit een terminal

sqlite3 pedidos_2024.db < pedidos_2024.sqlite.sql

Het databasebestand wordt aangemaakt als het nog niet bestaat. De converter downloadt ook een kant-en-klare .sqlite-database, zonder enige opdracht.

Vanuit een databasetool

Kies in DB Browser for SQLite Execute SQL, open het script en voer het uit.

Zonder script

De opdrachtregel laadt het bestand rechtstreeks in een SQLite-database, zonder een script te schrijven. Dat is gratis.

intosql load pedidos_2024.json --into pedidos_2024.db

Wat je moet weten over JSON-bestanden en SQLite

Wat IntoSQL leest in JSON-bestanden

  • Het bestand kan een array van objecten zijn, een object dat die array onder een sleutel zoals data bevat, of één object per regel (NDJSON).
  • Elke sleutel wordt een kolom. Objecten en arrays binnen een waarde blijven JSON-tekst.
  • Getallen behouden hun exacte cijfers, en ISO 8601-datums worden datums of tijdstempels.

Wat je moet weten over SQLite

  • Elke kolom krijgt het type dat de waarden nodig hebben, zoals INTEGER, NUMERIC, TEXT, DATE of BOOLEAN; ja en nee worden opgeslagen als 1 en 0.
  • Decimale getallen met meer dan 15 cijfers blijven TEXT, zodat er geen cijfer wegvalt door afronding.
  • Download het SQLite-script, of een kant-en-klare .sqlite-database die in je browser wordt gemaakt.

Hoe elk soort waarde in SQLite wordt opgeslagen

WaardeSQLite
Ja en neeBOOLEAN
Gehele getallenINTEGER
Grote gehele getallenINTEGER
Decimale getallenNUMERIC(p,s)TEXT
DrijvendekommagetallenREAL
DatumsDATE
TijdstippenTIME
Datums met tijdDATETIME
Datums met tijd en tijdverschilDATETIME
TekstTEXT

Vragen over JSON naar SQLite

Staat je vraag er niet bij? Schrijf ons via de contactpagina en een mens antwoordt. Contactpagina

Hoe zet ik JSON om naar SQLite?

Zet je bestand neer op de converter bovenaan deze pagina. Die vindt de kopregel, leest elke waarde en schrijft het SQLite-script, met elke correctie vermeld. Download het script en voer het uit met sqlite3.

Welke vorm moet het JSON-bestand hebben?

Een array van objecten, een object dat die array onder een sleutel zoals data bevat, of één object per regel (NDJSON). Elke sleutel wordt een kolom.

Welke SQLite-types gebruikt het?

Ja/nee-waarden worden BOOLEAN, gehele getallen INTEGER, decimalen NUMERIC(p,s), datums DATE, datums met tijd DATETIME en tekst TEXT. De groottes volgen uit de langste waarde in elke kolom.

Blijven voorloopnullen behouden in SQLite?

Ja. Een code zoals 000481 blijft tekst, dus SQLite slaat hem op als TEXT en het script schrijft hem als '000481'.

Kan het de data zonder script in SQLite laden?

Ja, gratis: intosql load maakt het SQLite-databasebestand aan en laadt de rijen erin. De converter op deze pagina downloadt ook een kant-en-klare .sqlite-database.

Hoe groot mag het JSON-bestand zijn?

NDJSON, één object per regel, wordt gelezen terwijl het binnenstroomt, dus bestanden van meerdere gigabytes werken in de browser. Een JSON-document wordt in zijn geheel gelezen, dus de grens is het geheugen dat de browser deze pagina geeft. De desktopapp en de opdrachtregel nemen bestanden van elke grootte.