CodeKitHub
Português
Ferramentas JSON

Conversor de JSON para CSV

Cole um array JSON de objetos e obtenha um arquivo CSV limpo e devidamente escapado — pronto a copiar ou descarregar. Os cabeçalhos das colunas são criados automaticamente a partir de todas as chaves que aparecem no array, pelo que as linhas com campos em falta ou a mais são tratadas corretamente. Tudo funciona no seu navegador; os dados nunca saem do seu dispositivo.

O que é esta ferramenta?

As APIs e as bases de dados costumam devolver dados no formato JSON, mas as folhas de cálculo, o Excel, o Google Sheets e a maioria das ferramentas de importação de dados esperam o formato CSV. Esta ferramenta colmata essa lacuna: basta colar um conjunto de objetos JSON (como uma resposta de API) e ela cria um arquivo CSV com uma coluna por chave única e uma linha por objeto.

A conversão trata dos detalhes que comprometem as abordagens simplistas: os valores que contêm vírgulas ou aspas são devidamente escapados, os campos em falta passam a ser células vazias em vez de provocarem uma falha na conversão, e os objetos ou matrizes aninhados dentro de um campo são serializados como uma cadeia JSON nessa célula, em vez de serem ignorados silenciosamente.

Por que usar?

  • Detecção automática de cabeçalhos — a lista de colunas é criada a partir da união das chaves de todos os objetos, pelo que os registos inconsistentes não comprometem o resultado.
  • Escapamento correto de CSV — os valores com vírgulas, aspas ou quebras de linha são colocados entre aspas de forma adequada, para que o arquivo abra corretamente no Excel ou no Google Sheets.
  • Lida com dados aninhados — um objeto ou matriz dentro de um campo é serializado para texto JSON, em vez de provocar um erro.
  • Copiar para a área de transferência ou descarregar diretamente como arquivo .csv.
  • 100% do lado do cliente — os seus dados (respostas da API, registos exportados) nunca são carregados para lado nenhum.

Como usar

  1. Cole um conjunto de objetos JSON, por exemplo, [{"name":"Alice","age":30},{"name":"Bob","age":25}].
  2. Clique em «Converter para CSV».
  3. Verifique o resultado — copie-o ou clique em «Descarregar CSV» para guardar um arquivo.
  4. Abra o arquivo descarregado no Excel, no Google Sheets ou em qualquer outra ferramenta de folha de cálculo.

Exemplo

Entrada

[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]

Resultado

name,age,city
Alice,30,
Bob,,NYC

Repare que tanto «cidade» como «idade» se tornam colunas, apesar de nenhum objeto possuir ambas as características — os valores em falta são simplesmente deixados em branco.

Dicas práticas

  • Converter uma resposta de API para um relatório em folha de cálculo: cole o array JSON diretamente a partir do separador «Rede» de um navegador ou de uma ferramenta de teste de API, converta e descarregue — sem necessidade de qualquer script intermédio.
  • Trabalhar com registos inconsistentes (por exemplo, campos opcionais de uma exportação de formulário): a deteção automática de cabeçalhos significa que não é necessário conciliar manualmente os esquemas primeiro.
  • Se o seu JSON for um único objeto de grande dimensão com uma matriz aninhada no seu interior (por exemplo, {"users": [...]}), extraia apenas a parte da matriz (a secção [...] ) antes de a colar aqui.

Por que razão a ordem das colunas e a exaustividade são importantes

Um erro subtil, mas comum, no CSV ocorre quando os dados são exportados escrevendo-se manualmente os cabeçalhos primeiro e partindo do princípio de que todas as linhas correspondem: se a linha 50, de um total de 1000, tiver um campo extra que nenhuma das linhas anteriores tinha, um programa de escrita de CSV linha a linha, sem consideração, ou omite esse campo silenciosamente ou desalinha todas as colunas subsequentes. Esta ferramenta evita esse tipo de falha ao analisar primeiro todos os objetos da matriz para construir a linha de cabeçalho completa e correta antes de escrever uma única linha de saída — assim, um campo que só aparece uma vez, no último objeto, continua a ter a sua própria coluna e o valor de todas as outras linhas para esse campo é corretamente apresentado como em branco, em vez de corromper a estrutura da linha.

Perguntas frequentes

Isto funciona com um único objeto JSON em vez de um array?

Espera-se um array — coloque um único objeto entre colchetes, por exemplo, altere {"name":"Alice"} para [{"name":"Alice"}], e será convertido num arquivo CSV de uma linha.

O que acontece aos objetos ou matrizes aninhados dentro de um campo?

São serializados como uma cadeia JSON dentro dessa célula (por exemplo, um campo que contenha {"a":1} passa a ser o texto "{""a"":1}" no CSV, devidamente protegido por aspas), em vez de provocarem um erro ou serem omitidos. Se precisar de transformar dados aninhados em colunas separadas, isso requer uma ferramenta diferente, específica para o esquema.

Os meus dados são enviados para um servidor?

Não. A conversão é executada inteiramente em JavaScript no seu navegador — nada é enviado para lado nenhum, o que torna esta funcionalidade segura para utilizar com dados exportados de clientes ou da empresa.

Por que é que o meu arquivo CSV tem células em branco?

Se alguns objetos do seu array não tiverem uma chave que outros têm, essa coluna existe, mas a célula fica em branco para os objetos que não a possuem — isto permite preservar todos os seus dados, em vez de gerar um erro devido a registos inconsistentes.

Os valores separados por vírgulas podem danificar o arquivo CSV?

Não. Qualquer valor que contenha uma vírgula, um aspas ou uma quebra de linha é automaticamente colocado entre aspas (com as aspas internas escapadas), de acordo com as regras padrão do CSV, para que seja aberto corretamente no Excel e no Google Sheets.

Ferramentas relacionadas