Conversor de JSON para CSV
Transforme registros JSON planos em uma tabela sem arredondar identificadores grandes nem adivinhar colunas. Cole o JSON ou escolha um arquivo UTF-8 local, selecione um separador e copie ou baixe a saída verificada.
Converter uma matriz de registros planos
- Escolha JSON colado ou Arquivo local. Os arquivos devem usar UTF-8, ter extensão .json ou .txt e no máximo 2 MiB. A origem deve ser uma matriz não vazia de objetos com valores de string, número, booleano ou null. Valores aninhados e JSON Lines não são aceitos.
- Escolha vírgula, ponto e vírgula ou tabulação. A opção de prefixo para células semelhantes a fórmulas fica desativada por padrão: ativá-la altera cabeçalhos e valores correspondentes, inclusive números negativos, e não garante segurança em planilhas. Usar exemplo preenche uma origem com dois registros sem iniciar a conversão.
- Selecione Converter e confira as contagens de linhas de dados, colunas e bytes de saída. Os detalhes mostram como os registros se tornam colunas na ordem da primeira ocorrência e texto entre aspas. Copiar e Baixar usam a saída atual completa mesmo quando a prévia padrão é abreviada.
Entenda a tabela e seus limites
As colunas seguem a primeira ocorrência de cada chave decodificada, lendo os registros e seus membros na ordem em que foram escritos. Chaves que parecem números não são ordenadas. Chaves posteriores acrescentam colunas, e linhas anteriores recebem células vazias nelas. Objetos vazios continuam sendo linhas se outro registro fornecer uma coluna; um documento sem colunas não pode ser convertido.
Strings mantêm os caracteres decodificados. Com o prefixo desativado, textos numéricos como 9007199254740993, 1.2300, 1e+03 e -0 mantêm a grafia original e não são avaliados como números do navegador. Booleanos tornam-se true ou false. Valores null, membros ausentes e strings vazias geram células CSV vazias, com contagens separadas no resultado.
CSV não permite reconstruir o JSON original e não preserva tipos. Um número e o mesmo texto em uma string JSON podem gerar células idênticas. Programas de planilha podem alterar zeros à esquerda, números grandes, datas ou fórmulas mesmo quando todos os campos estão entre aspas. Escolha o separador e as opções de importação de texto compatíveis, sem presumir que abrir com duplo clique preservará os valores.
Cada campo de saída fica entre aspas e as aspas internas são duplicadas. Os registros terminam com CRLF, inclusive o último; CRLF, LF, CR e tabulação internos permanecem nos campos. A saída é UTF-8 sem BOM. Ponto e vírgula e tabulação são dialetos explícitos, sem garantia de que todos os leitores CSV ou TSV aceitem suas aspas.
Acompanhe os registros fornecidos
O exemplo fornecido de 86 bytes gera duas linhas de dados e cinco colunas na ordem da primeira ocorrência: 10, 2, name, new e flag. Com vírgula e prefixo desativado, a saída tem 97 bytes em UTF-8, incluindo cabeçalho e CRLF final. O identificador grande e 1e+03 permanecem literais, e a vírgula e as aspas no nome ficam no mesmo campo.
O mesmo exemplo contém quatro membros ausentes, um null e nenhum valor de string vazia. Essas cinco células parecem vazias no CSV, mas suas causas aparecem nas contagens. Um campo, -0, corresponde à regra de identificação de possíveis fórmulas. O prefixo o altera para '-0 e a saída passa a ter 98 bytes; isso é uma alteração documentada dos dados, não uma garantia de segurança.
Um objeto vazio seguido de um registro com a: 1 produz o cabeçalho a, uma primeira célula de dados vazia e depois 1. Uma matriz vazia ou com apenas objetos vazios falha por não haver colunas. Duas grafias com escapes diferentes para a mesma chave decodificada em um registro também causam falha, sem sobrescrever o valor.
Limites explícitos e dados não aceitos
Arquivos originais e texto colado em UTF-8 são limitados a 2097152 bytes; a origem bruta ou decodificada também deve caber em 2097152 unidades UTF-16. A tabela permite 10000 linhas de dados, 256 colunas da união e 250000 células de dados, calculadas como linhas vezes colunas, incluindo células vazias. Uma chave, string decodificada ou sequência numérica é limitada a 65536 caracteres escalares Unicode antes do prefixo.
A saída é limitada a 4194304 bytes em UTF-8, incluindo aspas, prefixos e CRLF final. Um worker que ultrapasse 15000 milissegundos é encerrado sem exportação parcial. A prévia comum mostra até 100000 valores escalares Unicode; Copiar, sua alternativa somente leitura completa e Baixar usam toda a saída aceita.
Uma chave não pode ser vazia nem conter apenas espaço ASCII, tabulação, CR ou LF. São rejeitadas chaves decodificadas duplicadas, unidades substitutas sem par e caracteres de controle ASCII decodificados exceto tabulação, CR e LF; DEL também é rejeitado. Essas são restrições intencionais de interoperabilidade tabular, não uma afirmação de que toda origem rejeitada viola a gramática JSON. Uma assinatura inicial é aceita, mas uma segunda fora do texto JSON não é ignorada.
O prefixo acrescenta um apóstrofo a uma célula que comece com tabulação, CR ou LF, ou cujo primeiro caractere após espaços ASCII, tabulações, CR e LF iniciais seja =, +, -, @ ou suas versões de largura completa. Os espaços originais são preservados. A regra também se aplica a cabeçalhos; se criar cabeçalhos duplicados, a conversão falha. Não é uma sanitização universal, e outros programas podem alterar ou desfazer seu efeito.
Arquivos locais e saída atual
Esta ferramenta não acrescenta upload de documentos, conta, histórico salvo, registro da origem ou URL de compartilhamento com dados. Editar, mudar origens ou opções, substituir um arquivo, cancelar ou limpar invalida a saída anterior. Os serviços existentes do site continuam sujeitos às políticas do site; o processamento local não certifica esses serviços nem a implantação.
Perguntas sobre JSON para CSV
Fontes e referências de formato
- rfc-editor.orgRFC 8259A RFC 8259 descreve JSON; este conversor aceita um perfil plano e interoperável mais restrito.
- rfc-editor.orgRFC 4180A RFC 4180 descreve um formato comum separado por vírgulas e a duplicação de aspas; ponto e vírgula e tabulação são dialetos distintos.
- encoding.spec.whatwg.orgEncoding StandardO Encoding Standard descreve a decodificação UTF-8 e as assinaturas de bytes.
- owasp.orgOWASPA OWASP descreve a injeção de fórmulas em planilhas e os limites das medidas de mitigação.
- support.microsoft.comMicrosoft ExcelA Microsoft descreve como programas de planilha podem alterar zeros à esquerda e números grandes.
Ferramentas relacionadas
Conversor de separador CSV
Troque o separador de CSV, visualize as colunas e encontre problemas de importação. CSV e TSV são processados localmente sem alterar valores.
Abrir ferramenta — Conversor de separador CSVComparar dois arquivos CSV
Associe registros por uma coluna-chave e encontre os adicionados, removidos e alterados.
Abrir ferramenta — Comparar dois arquivos CSVLocalizador de duplicatas CSV
Encontre linhas repetidas ou IDs iguais com valores diferentes. Revise os conflitos e exporte os dados originais.
Abrir ferramenta — Localizador de duplicatas CSVCombinar arquivos CSV
Junte linhas de vários CSV, associe colunas pelo nome e baixe o resultado com um relatório.
Abrir ferramenta — Combinar arquivos CSVConversor de CSV para JSON
Converta texto CSV ou arquivos UTF-8 em objetos ou arrays JSON, mantendo as células como texto sem deduzir tipos.
Abrir ferramenta — Conversor de CSV para JSONDivisor de CSV
Divida um CSV por número de linhas ou tamanho exato. Mantenha os cabeçalhos e baixe cada parte.
Abrir ferramenta — Divisor de CSV