Heim > Backend-Entwicklung > Golang > Wie kann ich JSON teilweise in eine Go-Map entmarshalieren?

Wie kann ich JSON teilweise in eine Go-Map entmarshalieren?

Susan Sarandon
Freigeben: 2025-01-01 10:19:10
Original
736 Leute haben es durchsucht

How to Partially Unmarshal JSON into a Go Map?

Teilweises Entmarshalling von JSON in einer Karte in Go

Teilweises Unmarshalling von JSON-Daten in einer Karte kann nützlich sein, wenn das JSON in einer bestimmten Struktur strukturiert ist Weise mit einer Schlüssel-Wert-Struktur, bei der der Schlüssel den Typ des Werts identifiziert. Dieser Ansatz ermöglicht eine effiziente Verarbeitung und typspezifische Handhabung der Daten.

Betrachten Sie das folgende JSON-Beispiel:

{
    "sendMsg":{"user":"ANisus","msg":"Trying to send a message"},
    "say":"Hello"
}
Nach dem Login kopieren

Um diesen JSON mit dem Paket „encoding/json“ zu analysieren, können Sie Entpacken Sie es in eine Zuordnung von Zeichenfolgen zu JSON-„RawMessage“-Objekten:

var objmap map[string]json.RawMessage
err := json.Unmarshal(data, &objmap)
Nach dem Login kopieren
// Accessing the "sendMsg" value:
var s sendMsg
err = json.Unmarshal(objmap["sendMsg"], &s)

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

To Beim Unmarshalling in bestimmte Datentypen müssen Sie die Strukturfelder in Ihrer sendMsg-Struktur exportieren:

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

Dieser Ansatz bietet Flexibilität bei der Handhabung von JSON-Daten mit unterschiedlichen Strukturen und ermöglicht typsicheres Unmarshalling basierend auf der Eingabe das JSON-Objekt.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON teilweise in eine Go-Map entmarshalieren?. 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