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
[
{"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
{"id": 2, "name": "Kim", "email": "[email protected]"},
{"id": 3, "name": "Lee", "email": null}
]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.