Converter db para json

Conversor online gratuito de DB para JSON

Converta arquivos DB compatíveis para JSON para APIs, scripts e compartilhamento de dados.

Converter DB para JSON online - grátis

Uploading…
Os arquivos selecionados excedem o limite total de 75 MB. Selecione arquivos menores ou em menor quantidade.

Seu arquivo é processado instantaneamente e nunca é armazenado em nossos servidores.

Como converter db para json arquivo

Uma web API, aplicação JavaScript ou ferramenta de compartilhamento de dados pode exigir registros como JSON em vez de um arquivo de banco de dados. A conversão cria uma exportação de texto interoperável, mas o método correto depende do mecanismo de banco de dados por trás da extensão .db.

O que é o formato DB

DB não é um formato específico. É uma extensão de nome de arquivo genérica usada por aplicações SQLite, aplicações móveis, jogos, navegadores, programas para desktop e sistemas de banco de dados proprietários. Um arquivo de banco de dados pode conter tabelas, índices, relacionamentos, restrições, triggers e metadados gerenciados pelo mecanismo.

O SQLite normalmente usa .db, .sqlite ou .sqlite3. Seus arquivos normalmente começam com a assinatura SQLite format 3 e podem ser abertos com DB Browser for SQLite, o shell de linha de comando do SQLite ou o módulo integrado sqlite3 do Python. Os bancos de dados do Microsoft Access normalmente usam .mdb ou .accdb e exigem o Access ou um driver compatível com Access. Arquivos DB proprietários podem ser abertos somente no software que os criou.

Identifique o mecanismo de banco de dados antes de escolher um conversor. Renomear a extensão não altera o formato e não pode tornar um arquivo incompatível legível.

O que é o formato JSON

JSON (JavaScript Object Notation) é um formato de texto UTF-8 composto por objetos, arrays, strings, números, valores Booleanos e null. Web APIs, programas JavaScript, ferramentas de configuração, scripts e muitos sistemas de processamento de dados podem lê-lo sem um driver de banco de dados.

Uma tabela relacional é normalmente exportada como um array de objetos, com um objeto por linha:

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

JSON é legível e fácil de trocar, mas não é um banco de dados. Ele não retém índices, restrições, triggers, transações ou comportamento de foreign keys. JSON não é automaticamente menor que o banco de dados de origem; use compressão como gzip quando o tamanho da transferência for importante.

Como converter um arquivo DB para JSON

Primeiro, faça uma cópia do arquivo original. Em seguida, identifique seu mecanismo e decida se a saída deve conter uma tabela, várias tabelas ou registros unidos e aninhados. Exportar todas as tabelas de forma independente não preserva os relacionamentos.

Para um arquivo compatível, a opção mais simples é usar o conversor gratuito em 101convert.com: carregue o arquivo DB, selecione JSON como formato de saída quando disponível, inicie a conversão e baixe o arquivo resultante. O suporte depende do mecanismo de banco de dados, do tamanho do arquivo, da criptografia e dos requisitos de senha; não carregue registros confidenciais, a menos que as políticas de tratamento e retenção do serviço sejam aceitáveis.

Para SQLite, o DB Browser for SQLite oferece uma exportação gráfica. Abra o arquivo, inspecione o schema, selecione a tabela necessária e use File → Export → Table(s) as JSON se esse comando estiver disponível na versão instalada. Exporte somente as tabelas ou os resultados de query necessários e, em seguida, abra a saída com um validador ou parser de JSON.

O Python oferece filtragem, renomeação e exportações de várias tabelas de forma repetível. Salve isto como export_db.py ao lado de input.db e execute 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)

O arquivo resultante tem uma propriedade por tabela, como {"users":[...],"orders":[...]}. Para uma exportação direcionada, substitua a query SELECT * por uma query que selecione colunas específicas, filtre linhas ou una tabelas relacionadas. Não use strings não confiáveis para construir identificadores SQL sem o devido quoting.

O shell de linha de comando do SQLite é adequado para uma única query. Execute:

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

O resultado da query é gravado como um array JSON. O modo JSON do shell exige uma versão do SQLite suficientemente recente; verifique o shell instalado se o comando não estiver disponível.

Para Access ou outro mecanismo, abra o arquivo com sua aplicação nativa ou driver oficial, selecione uma tabela ou query e exporte o resultado. Se a aplicação produzir CSV em vez de JSON, serialize o CSV com um script, preservando cabeçalhos, quoting, valores nulos e codificação de caracteres. Para exportações recorrentes, consulte o banco de dados por meio de seu driver oficial usando Python, JavaScript, C#, ou as ferramentas de linha de comando do fornecedor.

Verificações de qualidade e compatibilidade

  • Relacionamentos: tabelas separadas continuam separadas, a menos que SQL joins ou código da aplicação criem objetos aninhados. Foreign keys e restrições relacionais não são reproduzidas pelo JSON comum.
  • Tipos: datas, valores decimais, UUIDs, tipos específicos do banco de dados e valores nulos exigem uma representação acordada. Use ISO 8601 para datas e uma estratégia de valores decimais documentada. JSON não tem um tipo nativo de data, decimal ou binário.
  • Dados binários: blobs normalmente exigem Base64 ou outra codificação acordada, o que aumenta o tamanho. Alguns conversores podem omitir ou rejeitar valores blob.
  • Valores especiais: o JSON padrão não pode representar NaN, infinity ou dados binários arbitrários diretamente.
  • Exportações grandes: criar um único objeto JSON na memória pode esgotar a memória. Transmita as linhas, exporte as tabelas separadamente ou use JSON delimitado por newline (NDJSON) quando o programa receptor oferecer suporte.
  • Codificação: grave JSON em UTF-8. Em Python, ensure_ascii=False mantém os caracteres não ASCII legíveis em vez de convertê-los em escape.
  • Validação: analise o resultado com um parser de JSON e compare as contagens de linhas, os campos-chave, os valores nulos, as datas e os valores numéricos com a origem. Um arquivo que parece legível ainda pode conter dados truncados ou com tipos incorretos.
  • Segurança: remova senhas, tokens, dados pessoais e metadados internos antes de compartilhar uma exportação. Bancos de dados criptografados ou protegidos por senha geralmente precisam ser abertos e descriptografados primeiro pelo software nativo.

Perguntas frequentes

O conversor de DB para JSON é gratuito?

Sim, converter DB para JSON no 101convert.com é totalmente gratuito. Não é necessário cadastro, e-mail nem instalação.

Qual o tamanho máximo do meu arquivo DB?

Você pode enviar arquivos DB de até 50 MB e converter até 20 arquivos de uma vez em um único lote.

O que acontece com os arquivos enviados?

Os arquivos são processados automaticamente e excluídos dos nossos servidores poucos minutos após a conversão. Nunca visualizamos nem compartilhamos seus arquivos.

Preciso instalar algum programa para converter DB para JSON?

Não. A conversão de DB para JSON é feita totalmente online no navegador e funciona no Windows, Mac, Linux, Android e iPhone.

A conversão falhou?

Na maioria dos casos, a causa é um formato de arquivo incorreto. Envie um arquivo DB válido para esta conversão de DB para JSON. Às vezes, o problema também pode estar do nosso lado. Analisamos falhas de conversão recorrentes e desativamos ou corrigimos o conversor se detectarmos algum defeito.