Heim  >  Artikel  >  Backend-Entwicklung  >  Golang JSON verstümmelte Lösung

Golang JSON verstümmelte Lösung

尚
Original
2019-12-13 13:54:095750Durchsuche

Golang JSON verstümmelte Lösung

Verstümmelter Golang-JSON-Code kann gelöst werden, indem das Paket „encoding/json“ im Golang-Programm zum Codieren und Decodieren des JSON-Objekts verwendet wird.

Empfohlen: Golang-Tutorial

Golang-Codierung und -Decodierung eines JSON-Objekts, Beispiel:

package main
import (
    "fmt"
    "encoding/json"
)
func main() {
    // json encode
    j1 := make(map[string]interface{})
    j1["name"] = "PHP中文网"
    j1["url"] = "https://www.php.cn/"
    js1, err := json.Marshal(j1)
    if err != nil {
        panic(err)
    }
    println(string(js1))
    // json decode
    j2 := make(map[string]interface{})
    err = json.Unmarshal(js1, &j2)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%#v\n", j2)
}

Golang-Standardbibliothek-Codierung/JSON wird zur Verarbeitung verwendet JSON-Daten verfügen über zwei Sätze von Funktionen oder Methoden zur Verarbeitung von JSON-Daten.

Golang JSON verstümmelte Lösung

Kodierungsfunktion

Kodierungsfunktion: func Marshal(v interface{}) ([]byte, error)

Kodierungsregeln: Rekursives Durchlaufen von v. Ein Wert in v implementiert die Marshaler-Schnittstelle und ruft die MarshalJSON-Methode zum Codieren auf. Wenn es keine solche Methode gibt, aber Encoding.TextMarshl implementiert ist, verwenden Sie MarshalText zum Codieren.

Dekodierungsfunktion

Dekodierungsfunktion: func Unmarshal(data []byte, v interface{}) error

data is a JSON data

v is Zeiger zum Speichern dekodierter Daten

Fehlertyp zurückgegeben

Das obige ist der detaillierte Inhalt vonGolang JSON verstümmelte Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet Golang Null?Nächster Artikel:Was bedeutet Golang Null?