Como converter JSON e CSV
Selecione uma direção e cole os dados. JSON para CSV exige um array de objetos. CSV para JSON usa a primeira linha como cabeçalho e preserva células não vazias como cadeias de texto para não adivinhar números ou datas.
- Em JSON para CSV, forneça um array de objetos; cabeçalhos são recolhidos na primeira aparição.
- Decida se os objetos e arrays aninhados se transformam em texto JSON ou são rejeitados.
- Mantenha a proteção de fórmulas quando o ficheiro puder ser aberto no Excel ou LibreOffice.
- Em CSV para JSON, escolha se uma célula vazia se torna null ou uma cadeia de texto vazia e verifique linhas e campos multilinha.
Exemplos e comportamento esperado
| Entrada | Saída | Observações |
|---|---|---|
[{"name":"Jane","age":30}] |
name,age
Jane,30 |
Os campos escalares tornam-se colunas e os registos usam CRLF. |
[{"name":"Doe, Jane","note":"She said \"hi\""}] |
name,note
"Doe, Jane","She said ""hi""" |
Vírgulas e aspas são citadas e escapadas. |
name,note
Jane,"Linha 1
Linha 2" |
[{"name":"Jane","note":"Linha 1\r\nLinha 2"}] |
Uma quebra dentro de campo citado faz parte do valor. |
name,value
泉, |
[{"name":"泉","value":null}] |
A política null converte célula vazia em JSON null. |
[{"cell":"=2+3"}] |
cell
'=2+3 |
A proteção adiciona apóstrofo a texto com aparência de fórmula. |
[{"meta":{"ok":true}}] |
meta
"{""ok"":true}" |
Valor aninhado pode ser guardado como JSON numa célula. |
Formato JSON e seleção de cabeçalhos
A entrada deve ser um array superior e cada item um objeto não nulo. Os registos são percorridos em ordem e cada propriedade nova entra no cabeçalho. Propriedades ausentes produzem células vazias.
CSV é tabular e objetos JSON podem variar por linha. Um conjunto irregular cria muitas colunas vazias; normalize o esquema quando possível. Cabeçalhos duplicados são rejeitados na importação porque não mapeiam de forma inequívoca.
- A raiz deve ser um array de objetos.
- Cabeçalhos são a união de propriedades por primeira aparição.
- null e propriedades ausentes geram células vazias.
Aspas e finais de linha estilo RFC 4180
O escritor usa vírgulas e CRLF. Um campo recebe aspas se contém vírgula, aspas, retorno, quebra ou espaço no início/fim. Dentro de campo citado, uma aspa é duplicada.
O analisador aceita CRLF, LF ou CR e preserva quebras dentro de aspas. Rejeita aspas não fechadas, aspas inesperadas e carateres depois da aspa de fecho. Dialetos com ponto e vírgula ou tabulação ficam fora.
- Quebra citada não termina a linha.
- Duas aspas consecutivas representam uma aspa literal.
- A exportação sempre usa vírgula e CRLF.
Células vazias, tipos e aninhamento
CSV não possui tipos nem null universal. A importação preserva cada célula não vazia como cadeia de texto e permite converter vazio em null ou cadeia de texto vazia. Não converte 00123 em número nem interpreta datas, evitando perda de zeros e erros regionais.
Na exportação, cadeias de texto, números finitos e booleanos transformam-se em texto; null fica vazio. Objetos e arrays são serializados como JSON compacto ou rejeitados. Guardá-los numa célula não os transforma em colunas relacionais.
- Escolha null se ausência e texto vazio precisam diferir.
- Escolha cadeia de texto vazia para um modelo totalmente textual.
- Rejeite aninhados se o destino exigir esquema plano.
Injeção de fórmula em folha de cálculo
Folhas de cálculo podem interpretar células iniciadas por =, +, -, @, tabulação ou retorno como fórmulas. Com dados não fiáveis isso pode causar cálculos ou links inesperados. Por padrão, um apóstrofo é prefixado.
O apóstrofo altera o valor exportado, então é uma decisão de política. Mantenha ativo para ficheiros abertos por pessoas; desative apenas quando o receptor tratar CSV estritamente como dado e exigir o primeiro caráter exato. Aspas CSV sozinhas não impedem fórmulas.
- A proteção vale para cabeçalhos e dados.
- Espaços iniciais são considerados.
- Mantenha o software de folha de cálculo atualizado.
Usos e revisão
Serve para exportar pequenos conjuntos de API, criar dados de teste JSON, preparar contactos ou inventários e rever ficheiros de fornecedores. Funciona melhor com dados planos e um esquema conhecido.
Depois, verifique cabeçalhos, número de linhas, valores vazios, quebras e células JSON aninhadas. As importações críticas exigem a validação de colunas e tipos no destino. Para grandes volumes, use processamento incremental.
- Criar dados de teste com aspas corretas.
- Exportar registos para revisão pontual.
- Verificar vírgulas e quebras.
- Verificar proteção de fórmulas.
Erros e interoperabilidade
São informadas aspas danificadas, cabeçalhos ausentes ou duplicados e linhas com número diferente de campos. Na exportação, JSON inválido, raiz não array, linha não objeto e aninhamento rejeitado são detetados.
Dialetos CSV variam: ponto e vírgula, UTF-16, BOM, vírgula decimal ou regras não padrão. Esta página emite UTF-8 sem BOM e vírgulas estilo RFC 4180. Teste no destino real.
- Não suporta comentários nem múltiplas secções de cabeçalho.
- A análise sintática não valida endereços de e-mail, datas nem números.
- A memória do navegador define o limite prático.
Diferenças para JSON e YAML
O formatador JSON preserva aninhamento e muda apresentação; JSON/YAML preserva aninhamento e muda sintaxe. CSV precisa de uma tabela comum e política para valores aninhados.
Use importadores de bases de dados para esquema e milhões de linhas, e bibliotecas XLSX para folhas de cálculo, tipos e fórmulas. Esta ferramenta é para transformações textuais pequenas e auditáveis.