Konwertuj db do json

Darmowy konwerter online DB do JSON

Konwertuj obsługiwane pliki DB do formatu JSON na potrzeby API, skryptów i udostępniania danych.

Konwertuj DB na JSON online - za darmo

Uploading…
Wybrane pliki przekraczają łączny limit 75 MB. Wybierz mniej lub mniejsze pliki.

Plik jest przetwarzany natychmiast i nie jest przechowywany na naszych serwerach.

Jak konwertować db do json

Interfejs API sieci Web, aplikacja JavaScript lub narzędzie do udostępniania danych może wymagać rekordów w formacie JSON zamiast pliku bazy danych. Konwersja tworzy interoperacyjny eksport tekstowy, ale właściwa metoda zależy od silnika bazy danych użytego za rozszerzeniem .db.

Czym jest format DB

DB nie jest jednym określonym formatem. Jest to ogólne rozszerzenie nazwy pliku używane przez aplikacje SQLite, aplikacje mobilne, gry, przeglądarki, programy desktopowe i zastrzeżone systemy baz danych. Plik bazy danych może zawierać tabele, indeksy, relacje, ograniczenia, wyzwalacze i metadane zarządzane przez jej silnik.

SQLite zwykle używa rozszerzeń .db, .sqlite lub .sqlite3. Jego pliki zwykle zaczynają się od sygnatury SQLite format 3 i można je otwierać za pomocą DB Browser for SQLite, powłoki wiersza poleceń SQLite lub wbudowanego modułu sqlite3 języka Python. Bazy danych Microsoft Access zwykle używają rozszerzeń .mdb lub .accdb i wymagają programu Access lub sterownika zgodnego z Access. Zastrzeżone pliki DB mogą otwierać się wyłącznie w oprogramowaniu, które je utworzyło.

Zidentyfikuj silnik bazy danych przed wybraniem konwertera. Zmiana nazwy rozszerzenia nie zmienia formatu i nie umożliwia odczytu niezgodnego pliku.

Czym jest format JSON

JSON (JavaScript Object Notation) to tekstowy format UTF-8 zbudowany z obiektów, tablic, ciągów znaków, liczb, wartości logicznych i null. Interfejsy API sieci Web, programy JavaScript, narzędzia konfiguracyjne, skrypty i wiele systemów przetwarzania danych mogą go odczytywać bez sterownika bazy danych.

Relacyjna tabela jest zwykle eksportowana jako tablica obiektów, z jednym obiektem dla każdego wiersza:

[{"id":1,"name":"Ada"},{"id":2,"name":"Linus"}]

JSON jest czytelny i łatwy do wymiany, ale nie jest bazą danych. Nie zachowuje indeksów, ograniczeń, wyzwalaczy, transakcji ani działania kluczy obcych. JSON nie jest automatycznie mniejszy od źródłowej bazy danych; gdy rozmiar transferu ma znaczenie, użyj kompresji, takiej jak gzip.

Jak przekonwertować plik DB do JSON

Najpierw utwórz kopię oryginalnego pliku. Następnie zidentyfikuj jego silnik i zdecyduj, czy dane wyjściowe powinny zawierać jedną tabelę, wiele tabel czy połączone i zagnieżdżone rekordy. Niezależny eksport każdej tabeli nie zachowuje relacji.

W przypadku obsługiwanego pliku najprostszą opcją jest użycie bezpłatnego konwertera na stronie 101convert.com: prześlij plik DB, wybierz JSON jako format wyjściowy, jeśli jest dostępny, rozpocznij konwersję i pobierz wynikowy plik. Obsługa zależy od silnika bazy danych, rozmiaru pliku, szyfrowania i wymagań dotyczących hasła; nie przesyłaj poufnych rekordów, chyba że zasady obsługi i przechowywania danych przez usługę są akceptowalne.

W przypadku SQLite DB Browser for SQLite umożliwia eksport za pomocą interfejsu graficznego. Otwórz plik, sprawdź schemat, wybierz wymaganą tabelę i użyj polecenia File → Export → Table(s) as JSON, jeśli jest ono dostępne w zainstalowanej wersji. Eksportuj tylko wymagane tabele lub wyniki zapytań, a następnie otwórz dane wyjściowe za pomocą walidatora lub parsera JSON.

Python umożliwia powtarzalne filtrowanie, zmianę nazw i eksport wielu tabel. Zapisz ten kod jako export_db.py obok pliku input.db i uruchom polecenie python export_db.py:

import json
import sqlite3

with sqlite3.connect("input.db") as db:
    db.row_factory = sqlite3.Row
    names = db.execute(
        "SELECT name FROM sqlite_master "
        "WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name"
    ).fetchall()
    output = {}
    for (name,) in names:
        quoted = '"' + name.replace('"', '""') + '"'
        rows = db.execute(f"SELECT * FROM {quoted}")
        output[name] = [dict(row) for row in rows]

with open("output.json", "w", encoding="utf-8") as file:
    json.dump(output, file, ensure_ascii=False, indent=2)

Wynikowy plik ma jedną właściwość dla każdej tabeli, na przykład {"users":[...],"orders":[...]}. Aby wykonać ukierunkowany eksport, zastąp zapytanie SELECT * zapytaniem wybierającym określone kolumny, filtrującym wiersze lub łączącym powiązane tabele. Nie używaj niezaufanych ciągów do konstruowania identyfikatorów SQL bez właściwego cytowania.

Powłoka wiersza poleceń SQLite nadaje się do wykonania pojedynczego zapytania. Uruchom:

sqlite3 input.db
.mode json
.once output.json
SELECT id, name, email FROM users WHERE active = 1;
.once stdout
.quit

Wynik zapytania jest zapisywany jako tablica JSON. Tryb JSON powłoki wymaga odpowiednio nowej wersji SQLite; jeśli polecenie jest niedostępne, sprawdź zainstalowaną powłokę.

W przypadku Access lub innego silnika otwórz plik za pomocą jego aplikacji natywnej lub oficjalnego sterownika, wybierz tabelę albo zapytanie i wyeksportuj wynik. Jeśli aplikacja tworzy plik CSV zamiast JSON, zserializuj CSV za pomocą skryptu, zachowując nagłówki, cudzysłowy, wartości null i kodowanie znaków. W przypadku cyklicznych eksportów odpytywanie bazy danych wykonuj za pośrednictwem jej oficjalnego sterownika, używając Python, JavaScript, C# lub narzędzi wiersza poleceń dostawcy.

Kontrole jakości i zgodności

  • Relacje: oddzielne tabele pozostają oddzielne, chyba że złączenia SQL lub kod aplikacji utworzą zagnieżdżone obiekty. Klucze obce i ograniczenia relacyjne nie są odtwarzane przez zwykły JSON.
  • Typy: daty, wartości dziesiętne, UUID, typy właściwe dla bazy danych i wartości null wymagają uzgodnionej reprezentacji. Używaj ISO 8601 dla dat i udokumentowanej strategii obsługi liczb dziesiętnych. JSON nie ma natywnego typu daty, liczby dziesiętnej ani danych binarnych.
  • Dane binarne: obiekty blob zwykle wymagają kodowania Base64 lub innego uzgodnionego kodowania, co zwiększa rozmiar. Niektóre konwertery mogą pomijać wartości blob lub odrzucać je.
  • Wartości specjalne: standardowy JSON nie może bezpośrednio reprezentować wartości NaN, nieskończoności ani dowolnych danych binarnych.
  • Duże eksporty: utworzenie jednego obiektu JSON w pamięci może wyczerpać pamięć. Przetwarzaj wiersze strumieniowo, eksportuj tabele oddzielnie lub użyj JSON rozdzielanego znakami nowego wiersza (NDJSON), jeśli program odbierający obsługuje ten format.
  • Kodowanie: zapisuj JSON w UTF-8. W Python opcja ensure_ascii=False zachowuje czytelność znaków spoza ASCII zamiast zamieniać je na sekwencje escape.
  • Walidacja: przeanalizuj wynik za pomocą parsera JSON i porównaj z danymi źródłowymi liczbę wierszy, kluczowe pola, wartości null, daty i wartości liczbowe. Plik, który wygląda na czytelny, może nadal zawierać obcięte lub nieprawidłowo typowane dane.
  • Bezpieczeństwo: przed udostępnieniem eksportu usuń hasła, tokeny, dane osobowe i wewnętrzne metadane. Zaszyfrowane lub chronione hasłem bazy danych zazwyczaj muszą zostać najpierw otwarte i odszyfrowane przez ich natywne oprogramowanie.

Najczęściej zadawane pytania

Czy konwerter DB do JSON jest darmowy?

Tak, konwersja DB do JSON na 101convert.com jest całkowicie darmowa. Nie wymaga rejestracji, adresu e-mail ani instalacji.

Jak duży może być mój plik DB?

Możesz przesłać pliki DB o rozmiarze do 50 MB i przekonwertować do 20 plików jednocześnie w jednej partii.

Co dzieje się z przesłanymi plikami?

Pliki są przetwarzane automatycznie i usuwane z naszych serwerów kilka minut po konwersji. Nigdy nie przeglądamy ani nie udostępniamy Twoich plików.

Czy muszę instalować oprogramowanie, aby przekonwertować DB do JSON?

Nie. Konwersja DB do JSON odbywa się całkowicie online w przeglądarce i działa w systemach Windows, Mac, Linux, Android i iPhone.

Konwersja nie powiodła się?

W większości przypadków przyczyną jest nieprawidłowy format pliku. Prześlij prawidłowy plik DB dla tej konwersji z DB do JSON. Czasami problem może również występować po naszej stronie. Analizujemy powtarzające się nieudane konwersje i wyłączamy lub naprawiamy konwerter, jeśli wykryjemy usterkę.