Zugriff auf tief verschachtelte JSON-Werte in Go
In Go kann der Umgang mit komplexen JSON-Strukturen aufgrund der dynamischen Natur des Schnittstellentyps eine Herausforderung darstellen . Für tief verschachtelte JSON-Schlüssel und -Werte sollten Sie das Paket „github.com/bitly/go-simplejson“ in Betracht ziehen, das einen einfacheren Ansatz bietet.
Um go-simplejson zu verwenden, installieren Sie das Paket mit:
<code class="bash">go get github.com/bitly/go-simplejson</code>
Mit diesem Paket können Sie mithilfe der Methoden Get und GetIndex auf tief verschachtelte JSON-Werte zugreifen. Um beispielsweise den Parameter „time“ aus dem bereitgestellten JSON abzurufen:
<code class="go">json, err := simplejson.NewJson([]byte(msg)) if err != nil { panic(err) } time, _ := json.Get("args").GetIndex(0).Get("time").String() log.Println(time)</code>
Um Typstrukturen für komplexe Datenstrukturen zu deklarieren, können Sie das Paket „encoding/json“ verwenden. Beispielsweise stellt die folgende Struktur die JSON-Nachricht dar:
<code class="go">type Message struct { Name string `json:"name"` Args []map[string]interface{} `json:"args"` }</code>
Sie können die JSON-Nachricht dann in dieser Struktur entmarshalieren:
<code class="go">m := Message{} if err := json.Unmarshal([]byte(msg), &m); err != nil { panic(err) }</code>
Das obige ist der detaillierte Inhalt vonWie greife ich in Go auf tief verschachtelte JSON-Werte zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!