CSV para JSON

CSV é o que você obtém de planilhas e exportações de banco de dados; JSON é o que APIs, frontends JavaScript e arquivos de configuração modernos desejam. Este conversor pega um CSV com uma linha de cabeçalho e produz um array de objetos JSON onde cada cabeçalho se torna uma chave e cada linha de dados se torna um objeto. A saída é formatada de forma legível com Unicode não escapado e barras, para que você possa colá-la diretamente em uma solicitação do Postman ou em um arquivo JS.

Como o CSV se torna JSON

  1. 1

    Cole o CSV

    Deve conter pelo menos uma linha de cabeçalho e uma linha de dados; o ferramenta retorna um erro caso contrário.

  2. 2

    A linha de cabeçalho define as chaves

    A linha 1 é analisada com `str_getcsv` e os nomes das colunas, removidos de espaços em branco, se tornam chaves JSON.

  3. 3

    Cada linha de dados se torna um objeto

    Os valores são alinhados com os cabeçalhos por posição. Células ausentes são emitidas como strings vazias.

  4. 4

    Copie o JSON formatado

    Formatado com JSON_PRETTY_PRINT, JSON_UNESCAPED_UNICODE e JSON_UNESCAPED_SLASHES para que seja legível em qualquer editor.

Como a conversão lida com tipos e casos extremos

CSV é fundamentalmente sem tipo: cada célula é uma string. JSON tem tipos reais. O conversor opta pela segurança e deixa cada valor como uma string JSON, você nunca verá um número silenciosamente transformado em texto, ou um ID com zero à frente perdendo seus zeros iniciais.

Exemplo

CSV de entrada:

name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com

JSON de saída:

[
  { "name": "Alice", "age": "30", "email": "alice@example.com" },
  { "name": "Bob",   "age": "25", "email": "bob@example.com"   }
]

Note que age é uma string, não um número. Se você precisar de tipos numéricos, processe após com Number(row.age) em JavaScript, ou use o Conversor de CSV para JSON que tem mais opções para tipagem.

Casos extremos

Situação Comportamento
Linha de dados vazia Ignorada silenciosamente, sem objeto vazio na saída.
Linha mais curta que o cabeçalho Campos ausentes emitidos como strings vazias.
Linha mais longa que o cabeçalho Células extras são descartadas.
Nomes de cabeçalho duplicados Chaves posteriores sobrescrevem as anteriores no objeto resultante.
Cabeçalho com espaços em branco Removido antes de ser usado como chave.

Quando escolher o outro conversor de CSV para JSON

Este é o conversor direto, padrões sensatos, sem opções. Use o Conversor de CSV para JSON quando precisar escolher um delimitador diferente de vírgula, desativar a linha de cabeçalho ou alternar entre saída compacta e formatada.

Perguntas frequentes

Não a partir deste conversor simples. Cada valor é emitido como uma string JSON, que preserva IDs como 00123 e decimais como 1.50 exatamente como aparecem. Processe após com Number() ou parseFloat() no seu consumidor, ou use o outro Conversor de CSV para JSON para opções extras.

Esta ferramenta requer uma, ela usa os nomes do cabeçalho como chaves JSON. Se seu arquivo não tiver cabeçalho, adicione uma linha como col1,col2,col3 no topo, ou mude para o Conversor de CSV para JSON que tem uma opção para desativar cabeçalhos.

Caracteres Unicode são deixados não escapados (acentos, CJK, emoji aparecem literalmente na saída). Barras para frente também não são escapadas, então URLs parecem naturais. Aspas duplas dentro dos valores são corretamente escapadas como \".

Sim. O CSV é enviado ao nosso servidor para gerar o JSON. Ele não é armazenado nem adicionado ao link da página.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas