JSON ist eines der beliebtesten Datenaustauschformate. Es ist simpel, menschenlesbar und sehr flexibel. Es ist eine ausgezeichnete Wahl für APIs und die meisten Datenübertragung. Das Gerät, das Sie haben, verwendet JSON wahrscheinlich, um eine bestimmte Aufgabe auszuführen.
In einem solchen Fall ist es wichtig zu lernen, wie man mit JSON zusammenarbeitet. In diesem Leitfaden lernen wir, wie man arbeitet.
Golang Marschall
Die Codierung und Dekodierung von JSON -Informationen in Go wird vom Coding/JSON -Paket bereitgestellt. Es ist Teil der Standardbibliothek; Daher müssen Sie es nicht installieren.
Sie müssen es jedoch importieren, bevor Sie es verwenden können.
Das Econding/JSON -Paket codiert einen beliebigen Datentyp für eine gültige JSON -Zeichenfolge, wie wir in diesen Beispielen sehen werden.
Bevor wir diskutieren, wie GO -Strukturen codieren, beginnen wir mit grundlegenden Datentypen.
JSON -Marschallfunktion
Im Folgenden beschreibt die Syntax für die Marschallfunktion, wie im Paket definiert.
Func Marschall (V -Schnittstelle ) ([] Byte, Fehler)Die Funktion nimmt einen beliebigen Datentyp als Argument an. Die Funktion gibt eine Bytescheibe zurück, und während des Marschallprozesses wird ein Fehler aufgetreten.
Marschall int
Wir können einen Ganzzahltyp marschallieren, wie im folgenden Beispiel gezeigt:
Paket MainIm obigen Beispiel beginnen wir zunächst die erforderlichen Pakete importieren. Wir brauchen die Codierung/JSON, FMT und das reflektierende Paket in unserem Beispiel.
Wir benutzen den JSON.Marschall () Methode zum Marschall- und Ganzzahlwert. Sie werden feststellen, dass die Funktion einen Unint8 (eine 8-Bit-Ganzzahl) oder ein Byte zurückgibt. Wir müssen es in eine Zeichenfolge werfen, wie in der folgenden Ausgabe gezeigt:
$ go run marshall.gehenDies gibt eine Ganzzahl -Zeichenfolge zurück.
Marschallschnur.
Wir können einen String -Typ marschallieren, wie im folgenden Beispiel gezeigt:
funcmarshal_str ()Wenn wir den oben genannten Code ausführen, sollten wir die String in ein Stück Bytes als:
Marschhalte Saite: [34 76 105 110 117 120 104 105 110 116 34]Marshall Bool
Sie können auch einen booleschen Typ mit der Marschallfunktion marschhalen. Betrachten Sie das folgende Beispiel:
funcmarshal_bool ()Marschallschwimmer
Marschall einen schwimmenden Typ wie gezeigt:
funcmarshal_float ()Marschallscheibe
Das folgende Beispiel zeigt, wie man eine Scheibe in GO marschallt:
funcmarshal_slice ()Marschallstruktur
Betrachten Sie das Beispiel unten: Um eine Struktur in Go zu marschieren, betrachten Sie das folgende Beispiel:
funcmarshal_struct ()Die obige Beispielfunktion zeigt, wie man einen Strukturtyp in GO marmhal.
Die resultierende Ausgabe ist wie gezeigt:
"Full_name": "John Doe", "Alter": 32, "Pensioniert": Falsch, "Gehalt": 140000Das Obige repräsentiert die Struktur, die in einen gültigen JSON -String untergebracht ist.
Golang Unmarshal
Unmarshal ist das Gegenteil von Marschall. Sie können Byte -Daten in die Originaldatenstruktur umwandeln.
In Go wird Unmarkshaling vom JSON behandelt.Marshal () Methode.
Betrachten Sie ein Beispiel für JSON -String als:
"Full_name": "John Doe", "Alter": 32, "Pensioniert": Falsch, "Gehalt": 140000Beginnen wir damit, eine Struktur zu erstellen, die nach der Ausführung des Unmarshals mit dem Byte -Code übereinstimmt.
Geben Sie die Benutzerstruktur einDer nächste Schritt besteht darin, den JSON -String in Byte -Code zu erstellen. Sobald wir den Byte -Code haben, können wir ihn in eine Struktur unmarkshal machen.
user_info_bytes: = [] byte (user_info)Sobald wir den Byte -Code haben, können wir ihn in Strukturen unterziehen.
VAR -MitarbeiterbenutzerSobald wir die Struktur haben, können wir auf die Werte zugreifen als:
fmt.Println (Mitarbeiter.Vollständiger Name)Der obige Code sollte zurückgeben:
John DoeDer vollständige Quellcode ist wie unten gezeigt:
func unmarshal_struct ()Abschluss
Marschall und Unmarshal stellen eine wichtige Anforderung der Datenumwandlung dar. Als Programmierer ist es wichtig, sich mit der Ausführung solcher Operationen vertraut zu machen. Dieses Tutorial dient diesem Zweck mit Leichtigkeit.
Danke fürs Lesen und glücklicher Codierung!