O que esta ferramenta faz
Converte uma tabela em CSV para JSON, e JSON de volta em tabela, sem enviar os dados a lugar nenhum. Um CSV é só texto com um registro por linha e um separador entre os valores; é fácil de gerar e surpreendentemente difícil de ler direito: os valores podem conter o próprio separador, aspas e até quebras de linha. Este conversor segue a especificação do CSV (RFC 4180) e é tolerante com os arquivos bagunçados que planilhas e exportações realmente produzem.
Convertendo JSON em CSV
Cole uma lista de objetos, uma lista de listas ou um único objeto. As colunas são todas as chaves que aparecem em algum registro, na ordem em que aparecem pela primeira vez; um registro sem uma chave fica com a célula vazia. Dados aninhados são achatados por uma regra documentada: uma chave dentro de um objeto vira o caminho unido por pontos, então {"user": {"name": "An"}} gera a coluna user.name, e os itens de uma lista são numerados: tags vira tags.0 e tags.1. Se preferir, mantenha a lista inteira como texto JSON em uma célula. Células com o separador, aspas ou quebras de linha vão entre aspas, com as aspas duplicadas, como o padrão exige.
Exemplo
Este CSV tem um valor entre aspas com uma vírgula e uma célula vazia:
name,age,city
An,34,"Ha Noi, VN"
Binh,,Hue
Com os padrões, o resultado é uma lista de dois objetos com todos os valores como texto, então a idade de Binh é uma string vazia. Com a conversão ligada, a idade de An vira o número 34 e a de Binh vira null. No sentido contrário, o JSON {"id": 1, "user": {"name": "An"}, "tags": ["a", "b"]} gera as colunas id, user.name, tags.0 e tags.1 com os valores 1, An, a e b.
Por que a conversão vem desligada
Planilhas transformam texto em número sem avisar e estragam dados: um CEP 01234 perde o zero, um número de cartão ou de pedido de 16 dígitos vira notação científica, um código como 1E5 vira 100000. Esta ferramenta não adivinha, a menos que você peça. Mesmo com a conversão ligada, um valor com zero à esquerda, ou um inteiro de mais de 15 dígitos, continua texto porque o JavaScript não consegue guardá-lo com exatidão.
Limites
Entrada de até 5 milhões de caracteres ou 10 MB se for um arquivo. A caixa de resultado mostra os primeiros 200 000 caracteres de resultados muito grandes; copiar e baixar sempre incluem tudo. Datas não são convertidas: continuam texto.