Exemplo 1: converter JSON em CSV
Entrada (dois objetos com chaves diferentes):
[
{"id": 1, "name": "Anna Müller", "address": {"city": "Köln", "zip": "50667"}, "tags": ["admin", "dev"], "price": 19.9},
{"id": 2, "name": "Ben \"Bo\" Schulz, Jr.", "address": {"city": "Bonn"}, "tags": [], "active": true}
]
Saída (padrão: vírgula, arrays como texto JSON):
id,name,address.city,address.zip,tags,price,active
1,Anna Müller,Köln,50667,"[""admin"",""dev""]",19.9,
2,"Ben ""Bo"" Schulz, Jr.",Bonn,,[],,true
O resultado do primeiro exemplo em tabela| id | name | address.city | address.zip | tags | price | active |
|---|
| 1 | Anna Müller | Köln | 50667 | ["admin","dev"] | 19.9 | |
| 2 | Ben "Bo" Schulz, Jr. | Bonn | | [] | | true |
Resultado em palavras: Dois objetos geram 2 linhas de dados e 7 colunas. As colunas reúnem todas as chaves; o objeto aninhado vira “address.city” e “address.zip”, e os campos ausentes em um objeto ficam vazios. O nome com vírgula e aspas fica entre aspas, e as aspas internas são duplicadas (RFC 4180). O array “tags” aparece como texto JSON em uma célula. O CEP permanece “50667” e o número 19.9 permanece 19.9.
Exemplo 2: converter CSV do Excel em JSON
Entrada (separador ponto e vírgula, números com vírgula, um campo entre aspas com quebra de linha):
id;name;price;active;note
1;Anna Müller;19,90;true;
2;"Ben ""Bo"" Schulz";5;false;"Zeile 1
Zeile 2"
Saída (separador detectado automaticamente, vírgula decimal):
[
{
"id": 1,
"name": "Anna Müller",
"price": 19.90,
"active": true,
"note": ""
},
{
"id": 2,
"name": "Ben \"Bo\" Schulz",
"price": 5,
"active": false,
"note": "Zeile 1\nZeile 2"
}
]
Resultado em palavras: A ferramenta identifica o ponto e vírgula como separador e transforma cada linha em um objeto com os nomes do cabeçalho. “19,90” vira o número 19.90, “5” vira o número 5 e “true” vira um booleano JSON. O campo com a quebra de linha continua sendo um único texto com \n, e as aspas duplicadas viram uma única aspa. A última célula vazia da primeira linha vira um texto vazio.
Exemplo 3: dados aninhados e arrays
Entrada:
[{"id": 1, "user": {"name": "Anna", "address": {"city": "Köln"}}, "tags": ["admin", "dev"]}, {"id": 2, "user": {"name": "Ben"}, "tags": ["dev"]}]
Arrays como texto JSON:
id,user.name,user.address.city,tags
1,Anna,Köln,"[""admin"",""dev""]"
2,Ben,,"[""dev""]"
Arrays expandidos:
id,user.name,user.address.city,tags.0,tags.1
1,Anna,Köln,admin,dev
2,Ben,,dev,
Resultado em palavras: objetos aninhados são achatados com notação de ponto: „user“ e „address“ viram „user.address.city“. Para arrays, você pode escolher: como texto JSON, o número de colunas permanece igual e nada se perde. Ao expandir o array, cada elemento recebe sua própria coluna („tags.0“, „tags.1“); a linha com apenas uma tag deixa a segunda coluna vazia.