Converter matriz de objetos CSV em JSON
- Selecione CSV → JSON e escolha o delimitador real entre vírgula, ponto e vírgula e tabulação.
- Cole os dados com nomes de colunas na primeira linha ou carregue um arquivo UTF-8.
- e verifique a chave e o valor resultantes.
- Copie o JSON ou baixe-o como um arquivo.
Os nomes das colunas na primeira linha não podem estar vazios ou duplicados. Todas as linhas devem ter o mesmo número de colunas que a primeira linha. Esta ferramenta não adivinha automaticamente números, datas ou booleanos; preserva valores CSV como strings. Espaços iniciais e finais também fazem parte do valor.
id,name
001,Alice
002,BobO resultado para a primeira linha de dados é:
{"id":"001","name":"Alice"}Células vazias resultam em uma string vazia. Se você alterar um código como 001 para um número, o 0 inicial desaparece, então é melhor manter o identificador como uma string. Outros programas também podem converter valores de string dentro de um arquivo JSON, portanto verifique as regras finais de processamento.
Processamento de vírgulas, aspas duplas e quebras de linha dentro de células
Em CSV, se o próprio valor contiver uma vírgula ou quebra de linha, é amplamente utilizado colocá-lo entre aspas duplas e escrever aspas duplas dentro do valor duas vezes. Por exemplo, os dados abaixo possuem duas colunas e os valores dos nomes são Alice, Kim.
id,name
001,"Alice, Kim""Ele disse ""Olá""" representa uma célula com Ele disse "Olá". As quebras de linha dentro das aspas permanecem na mesma célula e as quebras de linha fora das aspas são processadas para a próxima linha. Portanto, é difícil ler esses dados com precisão, simplesmente cortando-os linha por linha primeiro e dividindo-os com vírgulas.
Esta ferramenta lê quebras de linha CRLF·LF·CR e não cria uma linha extra em branco com uma única quebra de linha no final da última linha. As linhas em branco no meio são tratadas como registros, portanto ocorre um erro se o número de colunas for diferente. Caracteres que não atendem a regras de entrada rígidas, como espaços após aspas de fechamento, são rejeitados. A delimitação de TSV e ponto e vírgula também é suportada por esta ferramenta, que impõe as mesmas regras de cotação, e não significa que seja igual ao dialeto TSV em todos os programas.
Nota: Descrição do formato CSV na RFC 4180. Este documento é um documento informativo que resume as práticas CSV comumente usadas.
O que acontece com colunas e valores vazios ao salvar JSON como CSV?
A entrada deve ser uma matriz de objetos. Por exemplo, [{"id":"001","active":true},{"id":"002","note":"memo"}]. Ele coleta as chaves de todos os objetos para criar uma coluna, usando a ordem da primeira chave encontrada, com base na ordem em que as chaves são enumeradas em JavaScript. Chaves em formato inteiro podem ser enumeradas em uma ordem diferente das chaves de string normais.
Todas as chaves ausentes e nulas são geradas como células vazias. Como as strings vazias também são expressas como células vazias, essas três não podem ser distinguidas e restauradas usando apenas CSV. Booleanos são exportados como texto verdadeiro/falso e os números são exportados como uma representação de string do número. A conversão de CSV de volta em JSON não recupera automaticamente o tipo de dados original porque todos os valores são strings.
Rejeite objetos e matrizes aninhados. As regras para expandir objetos de endereço em colunas como endereço.cidade dependem dos dados e não são determinadas automaticamente. Como JSON é lido como números JavaScript, a precisão de números grandes ou decimais pode mudar. Rejeite valores inteiros fora do intervalo inteiro seguro e passe identificadores, como números de ordem longos, como strings entre aspas duplas desde o início. Chaves duplicadas em JSON podem deixar o analisador com o último valor, portanto mantenha o original.
BOM Excel Hangul/UTF-8 e opções de interpretação de fórmulas
A entrada de arquivo suporta apenas UTF-8. Para outros arquivos de codificação, como CP949·EUC-KR, prepare-os primeiro como UTF-8. A opção BOM em downloads CSV acrescenta bytes de marcação UTF-8 ao arquivo. Dependendo do programa, isso pode ajudar a determinar a codificação de caracteres, mas não resolve todas as configurações de importação. A BOM não está incluída na tela e cópia de resultados, nem no download do JSON.
CSV não é um arquivo XLSX, que preserva tipos de dados de células, cores, fontes ou múltiplas planilhas. Quando aberto em uma planilha, 001 pode ser substituído pelo número 1 ou interpretado como uma data. Especifique a coluna do identificador como texto na tela de importação do programa e veja o resultado real.
A opção de aspas simples, que está ativada por padrão, coloca aspas simples antes de strings e nomes de colunas que começam como fórmulas. Este é um processo para reduzir o risco de interpretar fórmulas para strings que começam com sinais de igual, adição, subtração, etc., e alterar os dados reais. Os números numéricos negativos são tratados de maneira diferente das strings. Não garantimos a segurança de todas as planilhas e de seu processo de salvamento novamente, portanto, verifique as configurações de importação e o conteúdo para dados de fontes desconhecidas. Caso precise exportar o texto original, entenda o impacto da opção antes de desativá-la.
Nota de segurança: OWASP CSV Injection.
Ordem para verificar quando ocorrem limitações de capacidade e erros
A entrada é de 2 MiB com base em UTF-8, os dados têm 10.000 linhas e 100 colunas e a saída é de 8 MiB ou menos. JSON repete nomes de chaves em cada linha, portanto pode ser maior que CSV. Se você estiver limitado pela saída, divida a entrada. Os dados são atualmente processados pelo navegador e, quando você atualiza, sua entrada e resultados desaparecem.
Para erros de contagem de colunas, verifique se o delimitador está correto, se os valores contendo vírgulas estão entre aspas ou se há linhas vazias. Erros de sintaxe JSON podem ser verificados com o JSON Cleanser. A conversão bem-sucedida não significa que os campos obrigatórios ou as regras de negócios da API foram verificados. Mantenha o original separadamente e revise os resultados por número de linhas, número de colunas e valores representativos.
Perguntas frequentes
Converter automaticamente números em CSV em números JSON?
Não. Mantenha todas as células como strings. Este é um método para evitar alterações aleatórias em identificadores como 001 ou sequências numéricas longas.
Também posso fazer upload de arquivos Excel XLSX?
Não suportado. Exporte as planilhas necessárias da planilha como CSV UTF-8 e use-as.
Os dados são exatamente os mesmos quando faço ida e volta entre CSV e JSON?
Nem sempre é assim. A distinção entre nulo, chave ausente e string vazia e o tipo de dados JSON não pode ser restaurada com uma viagem de ida e volta CSV. Ativar a opção de aspas simples também alterará essa string.