Heim > Backend-Entwicklung > Golang > Wie kann ich JSON-Daten teilweise in einer Go-Map bereitstellen?

Wie kann ich JSON-Daten teilweise in einer Go-Map bereitstellen?

Mary-Kate Olsen
Freigeben: 2024-12-22 15:51:11
Original
466 Leute haben es durchsucht

How to Partially Unmarshal JSON Data into a Go Map?

So teilweises Unmarshalling von JSON in einer Karte in Go

Das Unmarshalling von JSON-Daten in Go kann unkompliziert sein, beim Umgang mit verschachtelten Daten treten jedoch Herausforderungen auf Objekte, deren Schlüssel den Typ der Daten angeben. Um dieses Problem zu beheben, können Sie das Paket „encoding/json“ nutzen.

Im bereitgestellten Code versuchen Sie, JSON-Daten einem Map[string][]byte zuzuordnen und sie so effektiv in einen Schlüssel umzuwandeln -Wert-Paar aus Zeichenfolgen und rohem JSON. Die Funktion json.MapObject existiert jedoch nicht, sodass diese Lösung nicht realisierbar ist.

Stattdessen können Sie eine Map[string]json.RawMessage verwenden, um Ihr Ziel zu erreichen. RawMessage ist ein undurchsichtiger Typ, der nicht geparstes JSON enthält. Mit diesem Ansatz entmarspelt der folgende Code die bereitgestellten JSON-Daten in die objmap-Variable:

var objmap map[string]json.RawMessage
err := json.Unmarshal(data, &objmap)
Nach dem Login kopieren

Jetzt können Sie auf die einzelnen Schlüssel-Wert-Paare innerhalb der objmap zugreifen, um die JSON-Daten weiter zu analysieren. Um beispielsweise den Wert „sendMsg“ zu analysieren:

var s sendMsg
err = json.Unmarshal(objmap["sendMsg"], &s)
Nach dem Login kopieren

Ebenso können Sie den Wert „say“ als Zeichenfolge analysieren:

var str string
err = json.Unmarshal(objmap["say"], &str)
Nach dem Login kopieren

Hinweis: Denken Sie daran, die Variablen in Ihrer sendMsg-Struktur zu exportieren, um ein ordnungsgemäßes Unmarshalling zu ermöglichen. Zum Beispiel:

type sendMsg struct {
    User string
    Msg  string
}
Nach dem Login kopieren

Ein funktionierendes Beispiel finden Sie unter https://play.golang.org/p/OrIjvqIsi4-.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Daten teilweise in einer Go-Map bereitstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage