Heim > Backend-Entwicklung > Golang > Wie entmarshaliere ich verschachteltes JSON mit dynamischen Schlüsseln mithilfe von Go?

Wie entmarshaliere ich verschachteltes JSON mit dynamischen Schlüsseln mithilfe von Go?

DDD
Freigeben: 2024-11-22 06:52:15
Original
245 Leute haben es durchsucht

How to Unmarshal Nested JSON with Dynamic Keys Using Go?

Unmarshalling von verschachteltem JSON mit dynamischen Schlüsseln

In komplexen JSON-Strukturen kann die Begegnung mit verschachtelten Objekten mit sich dynamisch ändernden Schlüsseln beim Unmarshalling eine Herausforderung darstellen. Betrachten Sie die folgenden JSON-Daten:

Lösung:

Um ein solches JSON effektiv zu entmarshalieren, sollten Sie die Verwendung einer Map[string]ServerStruct für das verschachtelte Objekt mit dynamischen Schlüsseln in Betracht ziehen . Dieser Ansatz ermöglicht die Einbeziehung mehrerer Server mit unbekannten Namen.

Hier ist ein Beispiel einer aktualisierten Struktur:

Durch Hinzufügen von JSON-Tags können Sie den Decoder anweisen, bestimmtes JSON zuzuordnen Felder zu den entsprechenden Strukturfeldern. Hier sind die aktualisierten Tags:

Das Tag „json:“-“ im Feld „Server“ stellt sicher, dass der Decoder die direkte Zuordnung von JSON-Feldern zum Feld „ServerStruct“ überspringt. Stattdessen ordnet es die Felder einer Map[string]ServerStruct zu.

Dieser Ansatz bietet eine flexible Lösung zum Unmarshalling verschachtelter JSON-Objekte mit dynamischen Schlüsseln, sodass Sie problemlos auf die Daten in jedem Serverobjekt zugreifen können.

Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich verschachteltes JSON mit dynamischen Schlüsseln mithilfe von Go?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage