Varför konvertera JSON till SQLITE3?
JSON är ett datautbytesformat som lämpar sig för API:er men är dåligt för sökningar. När dina data väl är i .sqlite3 kan du köra SQL-frågor, sammanfoga tabeller och filtrera rader utan att köra en databasserver. SQLite lagrar allt i en enda portabel .db-fil som är lätt att flytta, säkerhetskopiera och dela.
Hur man konverterar JSON till SQLITE3
sqlite-utils OPEN-SOURCE
Installera via pip install sqlite-utils, kör sedan sqlite-utils insert mydata.db tablename file.json för att skapa en SQLite-databas och ladda JSON-matrisen som rader.
DB Browser for SQLite FREE
Skapa en ny databasfil och använd sedan Arkiv > Importera > Tabell från JSON-fil för att välja din .json och mappa den till en tabell.
Python FREE
Använd de inbyggda modulerna json och sqlite3 för att ladda JSON-matrisen och infoga varje objekt som en rad, vilket ger full kontroll över kolumntyper och datastruktur.
Om dessa format
En JSON-fil är en datafil i klartext i formatet JavaScript Object Notation, som används av webb-API:er, appkonfigurationer och dataexporter. Vilken textredigerare som helst kan öppna den -…
Öppna detaljer för .JSON →En .sqlite3-fil är en komplett relationell databas som lagras i en enda binär fil av SQLite - samma format som .sqlite och .db. Den innehåller strukturerade datatabeller, inte ett läsbart…
Öppna detaljer för .SQLITE3 →Kvalitet & vad man bör tänka på
- JSON måste vara en matris av objekt på toppnivå för en ren import; ett enskilt objekt, djupt nästlad struktur eller en JSON Lines-fil kräver vardera olika hantering.
- Alla värden lagras som TEXT som standard i sqlite-utils om du inte skickar med
--detect-types; ange typer explicit om du behöver heltalsaritmetik. - SQLite lagrar allt i en enda
.db- eller.sqlite3-fil - ingen server behövs - vilket gör det enkelt att flytta och dela den resulterande databasen.
Vanliga frågor
Fungerar detta med nästlad JSON?
--flatten-flagga för att platta ut en nivå av nästling till extra kolumner; djupt nästlade strukturer behöver ett anpassat Python-skript.