Un guide pour l'utilisation de JSON en Go

JSON (JavaScript Object Notation) est un style de données très polyvalent ainsi qu'extrêmement important. Il est généralement utilisé pour l'interaction entre les applications Internet ainsi que comme une méthode sans tracas pour conserver de grandes quantités d'informations structurées sur les applications.

JSON est si utile que la plupart des langages de spectacle contemporains offrent un support intégré pour le traiter, y compris Go.

Travailler avec JSON en Go

Vous pouvez diviser une grande partie du travail que vous ferez avec JSON en 2 classifications générales : l'alignement ainsi que le démarshaling. Wikipedia définit le marshaling comme :

En informatique, le marshaling est le processus consistant à changer la représentation en mémoire d'un objet en un style d'information adapté au stockage ou à la transmission. Il est couramment utilisé lorsque des données doivent être déplacées entre différentes parties d'un programme informatique ou d'un programme à un autre.

En termes moins complexes, le mustering est la procédure de conversion des informations enregistrées dans une variable en un type plus simple à transmettre à un programme supplémentaire. Le démarchage est le processus inverse : il comprend la prise d'informations formatées pour le transport ainsi que leur conversion en une forme plus simple à utiliser par votre programme.

En utilisant Go, vous pouvez rassembler des structures de données indigènes en JSON. De même que vous pouvez effectuer l'activité inverse, en démarchant les informations JSON dans des variables Go.

Marshaling en JSON en Go

Go offre le bundle d'encodage/json pour vous permettre de traiter très facilement le JSON. Ce plan contient un certain nombre de fonctionnalités, pourtant celle que vous utiliserez pour le rassemblement est la fonction Marshal fonction. Marshal a la liste ci-dessous marque de fonction :

Cela suggère que Maréchal approuve une spécification de n'importe quel type de données, ainsi que retourne 2 valeurs : un morceau d'octets, et aussi une erreur. En termes simples, vous appelez Maréchal avec une valeur Go, ainsi qu'il la transforme en JSON et retourne l'équivalent JSON. S'il subit une erreur tout au long du processus de conversion, il renverra l'erreur et aussi une tranche vacante.

Voir aussi :  Comment changer le mot de passe de votre site WordPress

Voici une instance de code qui utilise Marshal pour transformer une carte en JSON. Pour exécuter cette instance, tout ce dont vous avez besoin est de développer un fichier Go dans votre éditeur de code préféré, ou d'utiliser la fonction Zone de jeu Go :

Si vous exécutez ce code, il produira le résultat suivant :

Comme mentionné précédemment, vous pouvez marshaler n'importe quelle sorte de données Go en JSON, bien qu'en réalité vous marshaliez généralement des structs. En raison de cela, Go fournit une fonction appelée struct tags pour vous permettre de donner... Marshal des directives supplémentaires pour convertir vos structs.

Une balise struct est une chaîne de caractères que vous composez dans votre déclaration struct à côté du type d'information d'un champ. Les balises struct vous permettent de modifier la façon dont Marshal traite le champ auquel appartient la balise. Vous pouvez utiliser les balises struct pour réétiqueter une zone dans la sortie JSON, ou peut-être l'omettre totalement. Les balises struct (que Maréchal reconnaît) commencent par la sous-chaîne "json :".

À titre d'exemple, disons que vous avez une structure Voiture qui représente certains détails concernant une voiture et un camion. Voici le code pour produire une structure Voiture et le marshal en JSON :

Ce code crée la sortie :

Le site Marque , Modèle , ainsi que Prix domaines de Voiture doivent commencer par des lettres majuscules, ou Marshal ne sera pas en mesure de les transformer. Cela conduit à ce que les champs de résultat JSON commencent également par des majuscules. Cependant, supposons que vous souhaitiez que les noms commencent par une minuscule dans le JSON, ou si vous voulez renommer entièrement une zone ? C'est là que les balises struct sont disponibles. Voici un exemple :

Ce code présente une toute nouvelle zone d'identification qui... Marshal omet de la sortie JSON via une balise struct. Le code utilise également des balises struct pour ré-étiqueter les autres zones struct. Voici le résultat du programme :

Voir aussi :  Angular JS vs. React JS

Comme vous pouvez le voir, la partie de la balise struct qui suit "json :" finit par être le nom du champ dans le résultat de Marshal. Il y a une exception : si c'est la chaîne "-", Marshal omet ce champ dans le résultat. Vous pouvez en savoir plus concernant Marshal et les balises struct dans la section documentation de Go .

Démarchage à partir de JSON en Go

Le bundle encodage/json fournit également une fonction de démarshaling, appelée... Unmarshal . Elle a la liste ci-dessous signature de la fonction :

Contrairement à Maréchal , Unmarshal ne renvoie pas de valeur. Plutôt, il accepte JSON comme un morceau d'octets dans le tout premier débat et ensuite magasin les données transformées dans l'objet pointé par son deuxième désaccord. Unmarshal fonctionne aussi avec les balises struct, pourtant ici même, les balises informent. Unmarshal quelles zones JSON correspondent à quelles zones struct.

Lors du unmarshaling dans un programme, vous pourriez apporter des informations provenant d'une API, mais ici même, vous utiliserez des informations factices. Voici comment vous utilisez Unmarshal :

Ce code utilise le même type de voiture que l'exemple précédent. Il démarshale un élément JSON dans une structure de type Car, puis imprime les informations contenues dans la structure. Lorsqu'il est exécuté, le programme crée ce résultat :

Cela montre que les données JSON fictives ont été efficacement démarshallées dans la structure de type Car. jsonOutput struct.

Go permet de travailler facilement avec JSON.

Avec le paquet encodage/json, traiter JSON en Go est aussi simple que deux appels de fonctionnalités : Marshal et Unmarshal Go vous permet de même de personnaliser la procédure de marshaling/unmarshaling JSON avec des balises struct.

Voir aussi :  Comment vérifier si une chaîne est un palindrome

Convertir des données en JSON est une méthode formidable pour les partager avec un autre programme ou une autre procédure. La mise en forme est tellement universelle que JSON est aussi mobile que possible.

Comment utiliser JSON dans Go ?

Dans le fichier main.go, vous ajouterez une fonction principale pour exécuter votre programme. Ensuite, vous allez ajouter une carte[string]valeur interface{} avec différentes clés et types de données. Ensuite, vous utiliserez le json. Fonction Marshal pour marshaler les données de la carte dans les données JSON.

Go prend-il en charge JSON ?

Golang fournit plusieurs API d'encodage et de décodage pour fonctionner avec JSON, y compris vers et depuis des types de données intégrés et personnalisés à l'aide du package encoding/json. Types de données : les types de données Golang par défaut pour le décodage et l'encodage JSON sont les suivants : bool pour les booléens JSON.

Pouvez-vous écrire un fichier JSON en utilisant le langage Go ?

Lire et écrire des fichiers JSON dans Go Il est en fait assez simple de lire et d'écrire des données vers et depuis des fichiers JSON à l'aide de la bibliothèque standard Go. Pour écrire des types de structure dans un fichier JSON, nous avons utilisé la fonction WriteFile du package io/ioutil. Le contenu des données est trié/encodé au format JSON.

Comment lire les données JSON dans Golang ?

Ensuite, suivez les étapes ci-dessous pour analyser le JSON ci-dessus.

  • Étape 1 : Déclarez de nouveaux types personnalisés à l'aide de structures. Pour analyser un JSON dans Golang, vous devez d'abord déclarer un type personnalisé à l'aide de struct.
  • Étape 2 : Écrivez une requête à l'API pour obtenir le contenu JSON.
  • Étape 3 : analysez le JSON.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.