Início CSV para JSON
CSV para JSON
Cole um CSV ou abra um arquivo. A primeira linha vira as chaves. Números e true/false ganham tipo, e colunas com ponto mais linhas repetidas dobram em objetos e arrays.
Por que existe
Uma planilha exportada é difícil de colar em código por causa de vírgulas e aspas. Uma vírgula ou quebra dentro de um campo precisa continuar sendo um só valor.
Colunas escritas como customer.name e linhas que repetem um pedido dobram em objetos e arrays que uma API pode receber.
-
01Como usar
Cole um CSV ou escolha um arquivo. O separador é o que mais aparece na primeira linha entre vírgula, tabulação, ponto e vírgula ou barra.
Se a codificação mudar, escolha UTF-8, UTF-16, Windows-1252, Shift-JIS, GBK, Big5 ou EUC-KR. Auto lê um BOM e, sem ele, usa UTF-8.
-
02Como fica
O exemplo tem dois pedidos. O teclado e o mouse de Alice se juntam nos items de um pedido, e as tags viram um array.
O resultado é JSON com recuo de dois espaços. Copie ou baixe como result.json.
DigitadoDois pedidos
Linhas 2 pedidos Aninhado customer, tags, items Saída JSON -
03Vale saber
Uma quebra ou vírgula dentro de um campo continua um valor se o campo estiver entre aspas. Uma aspa sem fechar indica a linha.
Uma planilha muito grande pode deixar o navegador lento, então a leitura para em 5MB. Um arquivo com senhas ou dados pessoais também fica neste aparelho.
Perguntas
- QO arquivo é enviado?
- ANão. O texto colado e o arquivo escolhido viram JSON só neste navegador.
- QPor que um número continua texto?
- AUm valor como 007, ou fora do inteiro seguro, continua string. Só true e false viram booleanos.
- QO que são pontos e linhas repetidas?
- Acustomer.name vira name dentro de um objeto customer. Linhas que compartilham as células anteriores se juntam num array como items.
- QQuais arquivos posso abrir?
- ACSV e TSV. Auto segue um BOM e, sem ele, lê UTF-8. Codificações japonesa, chinesa, europeia ocidental e coreana também podem ser escolhidas.
Como esta página calcula
A primeira linha da tabela é lida como cabeçalhos. Um nome com pontos, como parent.child, vira um objeto aninhado, e as linhas que repetem o mesmo pai se juntam num array.
As palavras true e false viram booleanos, e os números comuns viram números. Um valor com zero à esquerda continua texto, e um inteiro maior que 2^53-1 continua texto, para esses dígitos não serem encurtados.
Dá para ler UTF-8, UTF-16, EUC-KR, Windows-1252, Shift-JIS, GBK, Big5, ISO-8859-1, ou deixar a página escolher a codificação pelo BOM. Uma aspa sem fechar é um erro. O download se chama result.json.
O arquivo da tabela é lido só neste navegador. O JSON é montado nesta página antes do download, e os bytes do arquivo não são enviados para conversão.