JSON est l'un des formats d'interchange de données les plus populaires. Il est simpliste, lisible par l'homme et très flexible. C'est un excellent choix pour les API et la plupart des transfert de données. L'appareil que vous avez utilise probablement JSON pour effectuer une tâche spécifique.
Dans un tel cas, apprendre à travailler avec JSON est important. Dans ce guide, nous apprendrons à travailler.
Maréchal de Golang
Le codage et le décodage des informations JSON dans GO sont fournis par le package d'encodage / JSON. Il fait partie de la bibliothèque standard; par conséquent vous n'avez pas besoin de l'installer.
Vous devrez cependant l'importer avant de pouvoir l'utiliser.
Le package ECONDING / JSON code tout type de données à une chaîne JSON valide, comme nous le verrons dans ces exemples.
Avant de discuter de la façon de coder les structures GO, commençons par les types de données de base.
Fonction JSON Marshal
Ce qui suit décrit la syntaxe de la fonction de maréchal telle que définie dans le package.
Func Marshal (V Interface ) ([] octet, erreur)La fonction prend tout type de données comme argument. La fonction renvoie une tranche d'octets et une erreur est rencontrée pendant le processus de maréchal.
Marshal Int
Nous pouvons rassembler un type entier comme indiqué dans l'exemple ci-dessous:
package principalDans l'exemple ci-dessus, nous commençons par importer les packages requis. Nous avons besoin de l'encodage / JSON, FMT et du package de réflexion dans notre exemple.
Nous utilisons le JSON.Méthode Marshal () pour le maréchal et la valeur entière. Vous remarquerez que la fonction renvoie un unint8 (un entier non signé 8 bits) ou un octet. Nous devons le lancer sur une chaîne comme indiqué dans la sortie ci-dessous:
$ va courir Marshall.allerCela renvoie une chaîne entière.
Marshal String.
Nous pouvons rassembler un type de chaîne comme indiqué dans l'exemple ci-dessous:
funcmarshal_str ()Si nous exécutons le code ci-dessus, nous devons faire en sorte que la chaîne soit rassemblée dans une tranche d'octets comme:
Chaîne marécatrice: [34 76 105 110 117 120 104 105 110 116 34]Marshall Bool
Vous pouvez également rassembler un type booléen en utilisant la fonction Marshal. Considérez l'exemple ci-dessous:
funcmarshal_bool ()Marshal Float
Marshal un type flottant comme indiqué:
funcmarshal_float ()Tranche de maréchal
L'exemple ci-dessous illustre comment rassembler une tranche en Go:
funcmarshal_slice ()Maréchal structure
Pour rassembler une structure en Go, considérez l'exemple ci-dessous:
funcmarshal_struct ()L'exemple de fonction ci-dessus illustre comment rassembler un type de structure dans Go.
La sortie résultante est comme indiqué:
"Full_name": "John Doe", "Age": 32, "Retired": False, "Salaire": 140000Ce qui précède représente la structure marécatrice en une chaîne JSON valide.
Golang Unmarshal
Unmarshal est le contraire du maréchal. Il vous permet de convertir les données d'octets en structure de données d'origine.
En go, le non-compartiment est géré par le JSON.Méthode unmarshal ().
Considérez un exemple de chaîne JSON comme:
"Full_name": "John Doe", "Age": 32, "Retired": False, "Salaire": 140000Commençons par créer une structure pour correspondre au code d'octet après avoir effectué le Unmarshal.
Tapez user structL'étape suivante consiste à créer la chaîne JSON en code d'octet. Une fois que nous avons le code d'octet, nous pouvons le désarracher dans une structure.
user_info_bytes: = [] byte (user_info)Une fois que nous avons le code d'octet, nous pouvons le désarraître dans Struct.
Utilisateur de l'employé varUne fois que nous avons la structure, nous pouvons accéder aux valeurs comme:
fmt.Println (employé.Nom et prénom)Le code ci-dessus doit retourner:
John DoeLe code source complet est comme indiqué ci-dessous:
func unmarshal_struct ()Conclusion
Le maréchal et le Unmarshal représentent une exigence importante de transformation des données. En tant que programmeurs, il est important de nous familiariser sur la façon d'effectuer de telles opérations. Ce tutoriel sert à ce but avec facilité.
Merci d'avoir lu et codage heureux!