O que é JSON?
JSON significa “JavaScript Object Notation” (Notação de Objeto JavaScript). É uma maneira de representar dados em um formato simples e fácil de ler que pode ser facilmente usado por muitas linguagens de programação.
Imagine que você tenha uma grande sacola de brinquedos e queira organizá-los. Você poderia usar sacos diferentes para colocar cada tipo de brinquedo em um saco específico, como bonecas em um saco, carros em outro saco e assim por diante. Da mesma forma, o JSON ajuda a organizar os dados, reunindo informações semelhantes.
Os arquivos JSON são como pequenos sacos de dados que contêm informações sobre coisas como pessoas, animais ou objetos. As informações contidas em um arquivo JSON são organizadas em pares “chave-valor”, o que significa que cada informação tem um nome (a “chave”) e um valor.
Por exemplo, se quisermos armazenar informações sobre uma loja virtual, podemos ter um arquivo JSON parecido com este:
{
"shoes": {
"sneakers": {
"colour": "blue",
"brand": "Nike",
"price": 125
},
"trainers": {
"colour": "white",
"brand": "Puma",
"price": 115
},
"running_shoes": {
"colour": "yellow",
"brand": "Asics",
"price": 145
}
}}
Este arquivo JSON contém informações sobre a seção de calçados de uma loja virtual. A primeira "chave" é a categoria "shoes". Depois, as segundas "chaves" armazenam as informações sobre os tipos de calçados.
Os arquivos JSON são úteis porque são fáceis de ler e escrever e podem ser usados por muitas linguagens de programação. Eles costumam ser usados para armazenar e compartilhar dados entre aplicativos ou sites. Quando você importa ou exporta dados de uma API, geralmente isso é feito no formato JSON.
Como importar um JSON para o Planilhas Google
Criar o resultado que você está procurando pode ser bastante desafiador. Se preferir contar com a ajuda de um de nossos consultores especializados para concluir seu projeto, clique aqui.
Para começar, crie um novo arquivo do Google Sheets digitando sheets.new em seu navegador e dê um nome a ele. Abra o ambiente de desenvolvimento integrado (IDE) do Google Apps Script clicando em “Extensions” (Extensões) e “Apps Script”. Uma nova guia será aberta com a seguinte aparência.
Remova as três linhas de código que estão lá, dê um nome ao projeto e copie e cole o seguinte código nesse espaço.
fileId = "139GrQu0oEu1tWAMz5vHMjzmcClxA0FQ9", // Obtenha o ID do arquivo JSON.
sheetName = "Sheet1" // Nome da planilha para importar json
) {
var files = DriveApp.getFileById(fileId); // Especifique qual JSON deve ser obtido.
var json = JSON.parse(files.getBlob().getDataAsString()); /Obter as informações JSON, que agora são um grande pedaço de texto, e analisá-las no formato JSON.
var headers = [“category”, “item”, “colour”, “brand”, “price”]; // Defina os cabeçalhos para cada coluna. Isso será inserido na linha 1.
let values = [] // Essa é uma matriz Javascript vazia que você preencherá na linha 27.
//Você está aninhando os loops for porque o arquivo json está em cascata.
for (let category in json) {
for (let item in json[category]) {
values.push([category, item, json[category][item][‘colour’], json[category][item][‘brand’], json[category][item][‘price’]])
}
}
var ss = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = ss.getSheetByName(sheetName);
var dataToInsert = [headers].concat(values)// Aqui você coloca os cabeçalhos na primeira linha e cria uma matriz.
var range = newSheet.getRange(1, 1, dataToInsert.length, dataToInsert[0].length) // obtém um intervalo de células (row, column, numRows, numColumns)
range.setValues(dataToInsert); // define os valores para o intervalo de células
}
Executar um teste
Para testar o script pela primeira vez, clique aqui para fazer uma cópia do arquivo JSON usado para este exemplo.
Obtendo o ID do arquivo
Agora precisamos obter o ID do seu arquivo JSON. Faça upload dele no Google Drive, clique com o botão direito, selecione "compartilhar" e clique em "copiar link". Cole esse link em algum lugar e copie o ID que fica entre "https://drive.google.com/file/d/" e "/view?usp=sharing". Cole esse ID entre as aspas duplas da linha 18.
Execução do script
Agora que o ID correto está no lugar e o script sabe qual arquivo buscar, vamos executá-lo pela primeira vez. Clique em "Salvar projeto" e depois em "Executar".
Agora o Google solicitará sua permissão para executar o script.
Clique em “Review permissions” (Revisar permissões) e, depois, em “Allow” (Permitir).
Talvez seja preciso clicar mais uma vez em "Executar". Caso contrário, você verá que a execução começou e terminou. E, se formos à planilha, veremos este resultado. Ver o arquivo JSON importado é um ótimo sinal. Você chegou até aqui porque quer importar o seu arquivo JSON. Então, agora que o script está pronto e funcionando, vamos adaptá-lo ao seu arquivo JSON.
Modificação dos “valores-chave” de seu arquivo
Encontrar as posições de seus valores-chave.
Para este exemplo, usamos cinco chaves: “category” (categoria), “item” (item), “color” (cor), “brand” (marca) e “price” (preço). Para modificar o script para que funcione com seu arquivo JSON, clique duas vezes no arquivo JSON dentro do Google Drive para ver a visualização e compare as chaves do exemplo com seu arquivo JSON. Observe qual chave no exemplo corresponde à posição da chave em seu arquivo.
E se o seu arquivo JSON tiver mais de duas cascatas?
Um arquivo JSON tem “cascatas”, que são os recuos em que os valores são escritos. É importante saber isso porque o script foi escrito para um arquivo JSON com apenas duas cascatas, mas talvez o seu tenha mais de duas.
Nas linhas 28 e 29 do script, você pode modificar quantas cascatas gostaria de analisar. Como esse arquivo JSON tem uma cascata principal e a segunda cascata é de “itens”, usamos apenas dois “for loops”. Se o seu arquivo JSON tiver mais de duas cascatas para baixo, você terá de alterar isso:
for (let category in json) {
for (let item in json[category]) {
values.push(… )
}
}
Por exemplo, para:
for (let cascade1 in json) {
for (let cascade2 in json[cascade1]) {
for (let cascade3 in json[cascade1][cascade2]) {
values.push(… )
}
}} //Note the extra curly bracket for the added for loop.
E se o seu arquivo JSON tiver mais de quatro categorias?
Outro aspecto a ser destacado sobre o script é que na linha 30 você vê o seguinte:
values.push([category, item, json[category][item][‘colour’], json[category][item][‘brand’], json[category][item][‘price’]])
Estamos enviando esses valores como linhas para uma matriz vazia e cada valor que está sendo enviado para essa matriz é separado por vírgula. Como você pode ver, esse arquivo JSON contém uma categoria, “sapatos”, e há três itens, “tênis”, “tênis” e “tênis de corrida”. Para cada um desses itens, há três valores: “cor”, “marca” e “preço”.
Esse é o motivo pelo qual a notação dos valores neste script é feita dessa forma. Vamos detalhá-la rapidamente para que você possa modificá-la melhor para seu arquivo JSON.
- O primeiro valor é simples e direto.
‘category’. - Assim como o segundo valor.
‘item’. - Mas, com o terceiro valor, precisamos informar ao script que ele deve procurar dentro do objeto Javascript de ‘item’ e retornar o valor de ‘color’. Por esse motivo, o terceiro valor é escrito assim:
json[category][item]['colour']. - O mesmo acontece com o quarto item. Analisamos o objeto Javascript de ‘item’ e retornamos ‘brand’.
json[category][item]['brand'] - Por fim, com o quinto item, permanecemos no objeto ‘item’ e retornamos ‘price’.
json[category][item]['price']
Alterar os valores no script.
Para alterar os valores no script, volte a ele e pressione CTRL+F e clique na seta suspensa para expandir o menu de pesquisa.
Digite o nome da chave que deseja substituir na barra abaixo e pressione esse ícone para substituir todas as instâncias no script. Faça isso para cada nome de chave que você deseja importar para o Google Sheets.
Importar JSON para o Planilhas Google
Por fim, pegue seu arquivo JSON e coloque-o ao lado da linha 30 do script. Todas as notações de valor no método values.push( ... ) estão dizendo ao script para procurar nos lugares certos? Se você acha que sim, vá em frente. Clique em “Run” e veja qual resultado é criado. Você recebe uma mensagem de erro? Não há problema, isso faz parte do processo. Verifique novamente nas linhas 28 a 32 se você precisará ajustar alguma coisa. A programação consiste em fazer pequenas alterações, testar e alterar novamente até que o script faça o que você deseja.
Se você chegou até aqui no artigo, parabéns! Você está fazendo um trabalho altamente técnico ou, pelo menos, está trabalhando sozinho. Independentemente dos resultados que está criando, isso deve ser respeitado. Se você simplesmente não conseguir fazer o trabalho direito, não se preocupe. Entre em contato conosco, Se você quiser saber qual é o resultado que está tentando criar para o seu projeto, nosso consultor especializado poderá ajudá-lo.
Se você prefere ler ou gravar dados da planilha a partir do seu próprio aplicativo, veja a API do Google Sheets e como configurá-la.



