Comment convertir des données d’une feuille de calcul Google Sheets au format JSON

json_data

Est-ce que vous avez déjà eu besoin de convertir des données d’une feuille de calcul Google Sheets au format JSON ? Il se peut que vous ayez besoin de le faire pour utiliser ces données dans une autre application ou système.

Par exemple, notre application EZ Exporter prend en charge une fonction qui prend une chaîne JSON brute et qui peut être utilisée pour rechercher des valeurs (comme une table de recherche).

Le format JSON peut avoir une structure complexe et imbriquée, mais un format typique est un tableau qui ressemble à ceci :

[« Alice », « Bob », « Eve », « Mary »]

Ou un format clé/valeur (c’est-à-dire un dictionnaire) qui ressemble à ceci :

{« Colombie »: « Bogota », « Tchéquie »: « Prague », « Philippines »: « Manille », « Japon »: « Tokyo »}

Vous pouvez générer des données au format JSON comme celles-ci dans Google Sheets en utilisant une formule.

Commençons par un exemple plus simple pour convertir une plage de lignes dans une colonne en un simple tableau JSON :

example1

La formule utilisée dans l’exemple ci-dessus est la suivante :

=ArrayFormula(concatenate("[", join(", ", char(34)&A1:A4&char(34)), "]"))

Elle utilise d’abord la fonction ArrayFormula pour appliquer une formule à chaque ligne de la plage sélectionnée (de A1 à A4). Pour chaque valeur dans une ligne, nous les encadrons avec des guillemets (c’est-à-dire la partie char(34) dans la formule) puis nous les joignons ensemble. Ensuite, nous ajoutons les crochets d’ouverture et de fermeture.

Maintenant, passons à un exemple plus complexe qui implique deux colonnes, où la première colonne est la « clé » et la seconde colonne est la « valeur ». Dans l’exemple ci-dessous, la première colonne représente le pays et la seconde colonne représente la capitale du pays.

example2

La formule utilisée ici est la suivante :

=ArrayFormula(concatenate("{", join(", ", char(34)&A2:A5&char(34)&char(58)&char(32)&char(34)&B2:B5&char(34)), "}"))

La formule peut sembler complexe, mais elle est en réalité très similaire à la première. Nous utilisons simplement deux plages de cellules distinctes ici et remplaçons les crochets par des accolades. Les parties avec char() sont les représentations unicode de différents caractères :

  • char(34) – guillemets doubles
  • char(58) – deux-points
  • char(32) – espace

En résumé, la principale fonction à utiliser dans Google Sheets est la fonction ArrayFormula(). Nous combinons ensuite les données de chaque élément du tableau en utilisant la fonction join() et utilisons la fonction concatenate() pour ajouter les accolades d’ouverture et de fermeture.

Nous espérons que ce petit tutoriel vous sera utile !

Pour en savoir plus sur les fonctionnalités de Google Sheets et découvrir d’autres conseils et astuces, visitez Crawlan.com.

Articles en lien