Heim > Artikel > Backend-Entwicklung > golang string 转json
In Golang können Sie zum Konvertieren des String-Typs in ein JSON-Objekt das JSON-Paket in der Standardbibliothek verwenden.
Zuerst können wir die Funktion json.Marshal() verwenden, um Objekte in Golang in Zeichenfolgen im JSON-Format zu konvertieren. Zum Beispiel:
type Person struct { Name string `json:"name"` Age int `json:"age"` } p := Person{Name: "Tom", Age: 29} jsonStr, err := json.Marshal(p) if err != nil { fmt.Println("json.Marshal failed:", err) } fmt.Println(string(jsonStr))
Der obige Code gibt die folgenden Ergebnisse aus:
{"name":"Tom","age":29}
Als nächstes können wir die Funktion json.Unmarshal() verwenden, um den JSON-String in ein Objekt zu konvertieren in Golang. Beispiel:
jsonStr := `{"name":"Tom","age":29}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(p.Name, p.Age)
Der obige Code gibt die folgenden Ergebnisse aus:
Tom 29
Es ist zu beachten, dass beim Parsen von JSON Parameter vom Typ []Byte verwendet werden, also Die Zeichenfolge Der Typ muss durch erzwungene Typkonvertierung in den []Byte-Typ konvertiert werden.
Darüber hinaus können Sie auch direkt die Funktion json.NewDecoder() verwenden, um die JSON-Formatzeichenfolge in ein JSON-Objekt zu analysieren, zum Beispiel:
jsonStr := `{"name":"Tom","age":29}` var data interface{} decoder := json.NewDecoder(strings.NewReader(jsonStr)) err := decoder.Decode(&data) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(data)
Der obige Code wird Geben Sie die folgenden Ergebnisse aus:
map[name:Tom age:29]
Auf diese Weise können wir das JSON-Paket der Standardbibliothek in Golang verwenden, um den String-Typ in ein JSON-Objekt zu konvertieren.
Das obige ist der detaillierte Inhalt vongolang string 转json. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!