Como converter JSON para CSV
Cole um JSON válido, escolha opcionalmente um delimitador e inicie a conversão. O resultado será texto CSV com um cabeçalho formado pelos campos encontrados nos registos processados.
Para que serve a conversão de JSON para CSV
Esta ferramenta transforma texto JSON em texto CSV, adequado para situações em que precisa de levar registos estruturados para uma folha de cálculo ou outro fluxo que aceite valores separados por delimitadores. Pode fornecer um objeto JSON para tratar um registo ou uma matriz não vazia que comece por um objeto para tratar vários registos.
Antes da conversão, confirme se o conteúdo é JSON válido e se a estrutura de nível superior é compatível. O resultado usa uma linha de cabeçalho com os nomes de campos encontrados nos registos processados. Quando um registo não tem um desses campos, a célula correspondente fica vazia. Os valores incluídos nas linhas são convertidos em texto.
Como converter o JSON
-
Prepare o conteúdo JSON como texto. Um objeto de nível superior é tratado como um único registo. Para converter vários registos, use uma matriz não vazia cujo primeiro elemento seja um objeto.
-
Cole ou introduza o JSON no campo de entrada. Não deixe o campo vazio nem introduza apenas espaços, porque esse conteúdo é rejeitado.
-
Selecione o delimitador pretendido. Se não indicar outro, é usada uma vírgula. Quando fornece um valor com vários caracteres, apenas o primeiro é utilizado; um valor fornecido sem caracteres volta à vírgula.
-
Inicie a conversão e leia o texto CSV produzido. A primeira linha reúne os nomes de campos pela ordem em que aparecem pela primeira vez nos registos processados. Depois do cabeçalho, é criada uma linha por cada registo processado.
-
Verifique o resultado antes de o importar. Se um campo não existir num registo, procure a célula vazia correspondente. Confirme também se o delimitador escolhido é reconhecido pela aplicação de destino.
Como interpretar o resultado e os limites da entrada
O cabeçalho não é necessariamente igual às chaves do primeiro registo: reúne os nomes encontrados nos registos processados e conserva a ordem da primeira ocorrência de cada nome. Por isso, registos com campos diferentes podem produzir colunas adicionais e células vazias.
Os valores das linhas são transformados em texto antes de serem escritos. Este comportamento não significa que estruturas internas sejam repartidas por várias colunas. Além disso, uma matriz cujo primeiro elemento seja um objeto passa pelas verificações iniciais, mas os elementos seguintes não são validados individualmente como objetos. Um valor posterior escalar, nulo ou outra matriz pode fazer a conversão falhar.
JSON malformado, uma matriz vazia, uma matriz que não comece por um objeto e outros valores JSON de nível superior são rejeitados. Assim, valide a estrutura e reveja o CSV gerado quando os dados tiverem campos opcionais ou valores estruturados.
Exemplo prático
Uma pessoa precisa de transformar um registo JSON de um contacto num CSV separado por ponto e vírgula para o importar numa aplicação que usa esse separador.
Considere o JSON {"nome":"Ana","idade":30} e selecione ; como delimitador antes de iniciar a conversão.
O resultado terá uma primeira linha com nome;idade e uma linha seguinte com Ana;30, seguida de uma quebra de linha conforme a apresentação do CSV.
Limitações
- A conversão não aceita JSON malformado, entrada vazia, matrizes vazias ou valores de nível superior incompatíveis. Estruturas internas são convertidas em texto, não repartidas automaticamente por várias colunas, e elementos posteriores de uma matriz podem causar falha se não forem objetos.
Erros comuns
- Causa: a matriz começa com um objeto, mas contém mais tarde um valor nulo, escalar ou outra matriz. Correção: reveja cada elemento e mantenha apenas registos em formato de objeto antes de iniciar a conversão.
Perguntas frequentes
Posso converter uma matriz JSON com vários registos?
Sim, desde que a matriz não esteja vazia e comece por um objeto. Os elementos posteriores não são validados individualmente como objetos e podem causar uma falha se tiverem outro tipo.
Qual é o delimitador usado no CSV?
O delimitador predefinido é a vírgula. Se fornecer vários caracteres, só o primeiro é utilizado; se fornecer um valor vazio, é aplicada novamente a vírgula.
A ferramenta converte qualquer conteúdo JSON?
Não. Um objeto de nível superior é processado como um registo, mas uma matriz vazia e outros valores JSON de nível superior são rejeitados. O conteúdo também tem de ser JSON válido e não pode estar vazio ou conter apenas espaços.