Qu'est-ce que JSON ?
JSON signifie “JavaScript Object Notation”. Il s'agit d'un moyen de représenter les données dans un format simple et facile à lire, qui peut être facilement utilisé par de nombreux langages de programmation.
Imaginez que vous ayez un grand sac de jouets et que vous souhaitiez le ranger. Vous pourriez utiliser différents sacs pour placer chaque type de jouet dans un sac spécifique, comme des poupées dans un sac, des voitures dans un autre sac, etc. De la même manière, JSON permet d'organiser les données en regroupant les informations similaires.
Les fichiers JSON sont comme de petits sacs de données qui contiennent des informations sur des personnes, des animaux ou des objets. Les informations contenues dans un fichier JSON sont organisées en paires “clé-valeur”, ce qui signifie que chaque information a un nom (la “clé”) et une valeur.
Par exemple, si nous voulons stocker des informations sur une boutique en ligne, nous pourrions avoir un fichier JSON qui ressemble à ceci :
{
“chaussures”: {
“baskets”: {
“couleur”: “bleu”,
“marque”: “Nike”,
“prix”: 125
},
“formateurs”: {
“couleur”: “blanc”,
“marque”: “Puma”,
“prix”: 115
},
“chaussures_de_course”: {
“couleur”: “jaune”,
“marque”: “Asics”,
“prix”: 145
}
}}
Ce fichier JSON contient des informations sur la section chaussures d'une boutique en ligne. La première “clé” est la catégorie “chaussures”.” Après cela, les deuxièmes “clés” stockent les informations sur les types de chaussures.
Les fichiers JSON sont utiles parce qu'ils sont faciles à lire et à écrire et qu'ils peuvent être utilisés par de nombreux langages de programmation. Ils sont souvent utilisés pour stocker et partager des données entre différentes applications ou sites web. Lorsque vous souhaitez importer ou exporter des données à partir d'un fichier API, c'est souvent au format JSON.
Comment importer un JSON dans Google Sheets ?
Obtenir le résultat que vous recherchez peut être un véritable défi. Si vous préférez faire appel à l'un de nos consultants experts pour mener à bien votre projet, cliquez ici.
Pour commencer, créer une nouvelle feuille de calcul Google en tapant feuilles.nouveau dans votre navigateur et donnez-lui un nom. Ouvrez l'environnement de développement intégré (IDE) Google Apps Script en cliquant sur “Extensions” et “Apps Script”. Un nouvel onglet s'ouvre, qui ressemble à ceci.
Supprimez les trois lignes de code qui s'y trouvent, donnez un nom au projet, puis copiez et collez le code suivant dans cet espace.
fileId = “139GrQu0oEu1tWAMz5vHMjzmcClxA0FQ9”, // Obtenir l'ID du fichier JSON.
sheetName = “Sheet1” // Nom de la feuille à importer json
) {
var files = DriveApp.getFileById(fileId) ; // Spécifier le JSON à récupérer.
var json = JSON.parse(files.getBlob().getDataAsString()) ; //Il faut récupérer les informations JSON qui sont maintenant un énorme morceau de texte, et les analyser au format JSON.
var headers = [“category”, “item”, “colour”, “brand”, “price”] ; // Définir les en-têtes pour chaque colonne. Ceci sera inséré dans la ligne 1.
let values = [] // Il s'agit d'un tableau Javascript vide que vous allez remplir à la ligne 27.
//Vous imbriquez les boucles for parce que le fichier json descend en cascade.
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)// Ici, vous placez les headers dans la première ligne et créez un tableau.
var range = newSheet.getRange(1, 1, dataToInsert.length, dataToInsert[0].length) // obtenir une plage de cellules (row, column, numRows, numColumns)
range.setValues(dataToInsert) ; // définir les valeurs de la plage de cellules
}
Exécution d'un test
Afin de tester le script pour la première fois, cliquez ici pour faire une copie du fichier JSON utilisé dans cet exemple.
Obtenir l'identifiant du fichier
Nous devons maintenant obtenir l'ID de votre fichier JSON. Téléchargez-le sur Google Drive, cliquer avec le bouton droit de la souris, sélectionnez “partager” et cliquez sur “copier le lien”. Collez ce lien quelque part et copiez l'ID qui se trouve entre “https://drive.google.com/file/d/” et “/view?usp=sharing” Collez cet ID de fichier entre les guillemets de la ligne 18.
Exécution du script
Maintenant que l'identifiant correct du fichier est en place et que le script sait quel fichier utiliser, il est possible d'utiliser la fonction saisir, Exécutons ce script pour la première fois. Cliquez sur “Enregistrer le projet” et ensuite sur “Exécuter”.
Google vous demande alors l'autorisation d'exécuter le script.
Cliquez sur “Réviser les autorisations” et ensuite sur “Autoriser”.
Il se peut que vous deviez cliquer une nouvelle fois sur “Exécuter”. Dans le cas contraire, vous devriez voir que l'exécution a commencé et s'est terminée. Et si nous allons dans la feuille de calcul, nous devrions maintenant voir ce résultat. L'importation d'un fichier JSON est un résultat agréable à voir. Vous êtes arrivé ici parce que vous voulez importer votre fichier JSON. Maintenant que le script est en place et fonctionne, modifions-le pour votre fichier JSON.
Modifier les “valeurs clés” de votre fichier
Trouver les positions de vos valeurs clés.
Pour cet exemple, nous avons utilisé cinq clés : “category”, “item”, “color”, “brand” et “price”. Pour modifier le script en fonction de votre fichier JSON, double-cliquez sur le fichier JSON dans Google Drive pour en obtenir un aperçu et comparez les clés de l'exemple avec votre fichier JSON. Notez quelle clé de l'exemple correspond à la position de la clé dans votre fichier.
Que faire si votre fichier JSON comporte plus de deux cascades ?
Un fichier JSON a des “cascades”, qui sont les indentations dans lesquelles les valeurs sont écrites. Il est important de le savoir, car le script est écrit pour un fichier JSON ne comportant que deux cascades, mais il se peut que le vôtre en comporte plus de deux.
Dans les lignes 28 et 29 du script, vous pouvez modifier le nombre de cascades que vous souhaitez examiner. Comme ce fichier JSON a une cascade principale et que la deuxième cascade est celle des “éléments”, nous n'utilisons que deux “boucles for”. Si votre fichier JSON comporte plus de deux cascades, vous devrez modifier ce paramètre :
pour (laisser catégorie en json) {
pour (laisser article en json[catégorie]) {
valeurs.push(... )
}
}
A titre d'exemple :
pour (laisser cascade1 en json) {
pour (laisser cascade2 en json[cascade1]) {
pour (laisser cascade3 en json[cascade1][cascade2]) {
valeurs.push(... )
}
}} //Notez le crochet supplémentaire pour l'ajout de la boucle for.
Que faire si votre fichier JSON contient plus de quatre catégories ?
Une autre chose à souligner à propos du script est qu'à la ligne 30, vous voyez ceci :
values.push([category, article, json[catégorie][élément][‘couleur’], json[catégorie][élément][‘marque’], json[catégorie][élément][‘Prix’]])
Nous introduisons ces valeurs sous forme de lignes dans un tableau vide et chaque valeur introduite dans ce tableau est séparée par une virgule. Comme vous pouvez le voir, ce fichier JSON contient une catégorie, “shoes”, et trois articles, “sneakers”, “trainers” et “running_shoes”. Pour chacun de ces articles, il existe trois valeurs : “couleur”, “marque” et “prix”.
C'est la raison pour laquelle les valeurs sont notées de cette manière dans ce script. Décomposons-la rapidement afin que vous puissiez mieux la modifier pour votre fichier JSON.
- La première valeur est simple et directe.
‘catégorie’. - Tout comme la deuxième valeur.
‘item’. - Mais avec la troisième valeur, nous devons faire savoir au script qu'il doit regarder à l'intérieur de l'objet Javascript de ‘item’ et renvoyer la valeur de ‘color’. C'est pourquoi la troisième valeur est écrite comme suit :
json[catégorie][élément][‘couleur’]. - Il en va de même pour le quatrième élément. Nous examinons l'objet Javascript de ‘item’ et renvoyons ‘brand’.
json[catégorie][élément][‘marque’] - Enfin, pour le cinquième article, nous restons dans l'objet ‘article’ et renvoyons ‘prix’.
json[catégorie][élément][‘Prix’]
Modification des valeurs dans le script.
Pour modifier les valeurs du script, revenez-y, appuyez sur CTRL+F et cliquez sur la flèche déroulante pour développer le menu de recherche.
Saisissez le nom de la clé que vous souhaitez remplacer dans la barre située en dessous et cliquez sur cette icône pour remplacer toutes les instances dans le script. Procédez ainsi pour chaque nom de clé que vous souhaitez importer dans les feuilles de calcul Google.
Importer JSON dans Google Sheets
Enfin, prenez votre fichier JSON et placez-le à côté de la ligne 30 du script. Toutes les notations de valeur dans la méthode values.push( ... ) indiquent-elles au script de regarder aux bons endroits ? Si vous pensez que c'est le cas, lancez-vous. Cliquez sur “Exécuter” et voyez quel résultat est créé. Vous obtenez un message d'erreur ? Pas de problème, cela fait partie du processus. Revenez aux lignes 28 à 32 si vous devez modifier quelque chose. La programmation consiste à apporter de légères modifications, à tester, à modifier à nouveau jusqu'à ce que le script fasse ce que vous voulez.
Si vous êtes arrivé jusqu'ici dans cet article, félicitations ! Vous effectuez un travail très technique ou, du moins, vous vous débrouillez tout seul. Quels que soient les résultats que vous obtenez, cela doit être respecté. Si vous n'y arrivez pas, ne vous inquiétez pas. Nous contacter, Si vous avez besoin d'une assistance technique, indiquez-nous le résultat que vous essayez d'obtenir pour votre projet et notre consultant expert pourra vous aider.
