Importar JSON para o Planilhas Google

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:

{

“sapatos”: {

  “tênis”: {

    “cor”: “azul”,

      “marca”: “Nike”,

        “price” (preço)”: 125

  },

  “treinadores”: {

    “cor”: “branco”,

      “marca”: “Puma”,

        “price” (preço)”: 115

  },

  “running_shoes” (tênis de corrida)”: {

    “cor”: “amarelo”,

      “marca”: “Asics”,

        “price” (preço)”: 145

  }

}}

Esse arquivo JSON contém informações sobre a seção de calçados de uma loja virtual. A primeira “chave” é a categoria “calçados”.” Depois disso, 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 diferentes. Eles são frequentemente usados para armazenar e compartilhar dados entre diferentes aplicativos ou sites. Quando você deseja importar ou exportar dados de um arquivo API, geralmente é 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 Planilhas Google 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.

importar json para o gs 10

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.

função getJson(

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 na primeira execução, clique aqui para fazer uma cópia do arquivo JSON usado para este exemplo.

Obtendo o ID do arquivo

Agora temos que obter o ID do arquivo JSON. Faça upload dele para o Google Drive, clique com o botão direito do mouse sobre ele, selecione “share” (compartilhar) e clique em “copy link” (copiar link). Cole esse link em algum lugar e copie o ID que aparece entre “https://drive.google.com/file/d/” e “/view?usp=sharing”. Cole esse ID de arquivo entre as aspas duplas da linha 18.

importar json para o gs 3

Execução do script

Agora que o ID de arquivo correto está no lugar e o script sabe qual arquivo deve ser agarrar, Vamos executar esse script pela primeira vez. Clique em “Save project” (Salvar projeto) e, em seguida, clique em “Run” (Executar).

importar json para o gs 8

Agora o Google solicitará sua permissão para executar o script.

importar json para o gs 9

Clique em “Review permissions” (Revisar permissões) e, depois, em “Allow” (Permitir). 

importar json para o gs 6

Talvez você precise clicar mais uma vez em “Run”. Caso contrário, você verá que a execução foi iniciada e concluída. E se formos para a planilha, veremos esse resultado. Ter importado um arquivo JSON é um bom resultado para se ver. Você chegou até aqui porque deseja importar seu arquivo JSON. Agora que o script está pronto e funcionando, vamos modificá-lo para seu arquivo JSON.

importar json para o gs 5

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.

importar json para o gs 11

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:

para (deixar categoria em json) {

  para (deixar item em json[category]) {

    values.push(... )

  }

}

Por exemplo, para:

para (deixar cascata1 em json) {

  para (deixar cascata2 em json[cascade1]) {

    para (deixar cascata3 em json[cascade1][cascade2]) {

    values.push(... )

  }

}} /Note a chave extra para o loop for adicionado.

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[categoria][item][‘cor’], json[categoria][item][‘marca’], json[categoria][item][‘preço’]])

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.

  1. O primeiro valor é simples e direto.
    ‘category’.
  2. Assim como o segundo valor.
    ‘item’.
  3. 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[categoria][item][‘cor’].
  4. O mesmo acontece com o quarto item. Analisamos o objeto Javascript de ‘item’ e retornamos ‘brand’.
    json[categoria][item][‘marca’]
  5. Por fim, com o quinto item, permanecemos no objeto ‘item’ e retornamos ‘price’.
    json[categoria][item][‘preço’]

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.

importar json para o gs 7

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.

Você também pode gostar...

Recursos e fórmulas do Google Sheets

As 5 principais fórmulas de matriz dinâmica no Planilhas Google 

O Google Sheets evoluiu para além das planilhas básicas. Com a introdução de fórmulas de matriz dinâmica, os usuários agora podem manipular e analisar...
Recursos e fórmulas do Google Sheets

Dominando a fórmula FILTER: 4 casos de uso com exemplos

A fórmula FILTER do Planilhas Google é uma ferramenta versátil para extrair dados que atendam a condições específicas. Ao contrário da fórmula QUERY,...
Recursos e fórmulas do Google Sheets

Desbloqueando o poder de SUMIF e SUMIFS no Planilhas Google: 4 casos de uso na vida real

As fórmulas SUMIF e SUMIFS no Planilhas Google são ferramentas indispensáveis para realizar somas condicionais. Elas simplificam a...