Ir para o conteúdo principal

Converter JSON em CSV

O conversor espera uma matriz JSON de objetos e escreve uma linha CSV por objeto. Os registros raramente têm exatamente as mesmas chaves, então este guia mostra como as colunas são escolhidas e o que preenche as lacunas.

Exemplo prático

Entrada (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
Saída (CSV)
id,name,tags,email
1,"Smith, Jane","admin,ops",
2,Kim,,[email protected]
3,Lee,,

A linha de cabeçalho lista cada chave na ordem em que aparece pela primeira vez: id, name, tags e, depois, email, vinda do segundo objeto. Smith não tem email e o email de Lee é null, então as duas células ficam vazias. A matriz tags é escrita como admin,ops e fica entre aspas porque contém o delimitador, assim como "Smith, Jane".

Como o conversor trata os dados

  • A entrada deve ser uma matriz JSON como [{...}, {...}]; um objeto sozinho é rejeitado.
  • As colunas são a união de todas as chaves dos objetos, na ordem em que cada chave aparece pela primeira vez.
  • Uma chave ausente ou um valor null gera uma célula vazia.
  • Números e booleanos são escritos como texto simples, por exemplo 42 e true.
  • Matrizes de valores simples são escritas com seus itens unidos por vírgulas. Objetos aninhados, e matrizes que contêm objetos, são escritos como JSON compacto dentro da célula, então nenhum dado é perdido; achate-os antes (por exemplo em address_city) se precisar de colunas separadas.
  • Valores que contêm o delimitador, aspas ou uma quebra de linha são colocados entre aspas duplas, com as aspas internas duplicadas.

Mais guias de conversão