Heim > Backend-Entwicklung > Golang > Wie entmarshaliere ich verschachteltes JSON mit unbekannten Schlüsseln und variabler Struktur?

Wie entmarshaliere ich verschachteltes JSON mit unbekannten Schlüsseln und variabler Struktur?

Linda Hamilton
Freigeben: 2024-11-21 10:37:11
Original
989 Leute haben es durchsucht

How to Unmarshal Nested JSON with Unknown Keys and Variable Structure?

Unmarshalling von verschachteltem JSON mit unbekannten Schlüsseln und variabler Struktur

Im bereitgestellten JSON repräsentieren die Schlüssel für die verschachtelten Objekte verschiedene Serverdetails (z. B. , „Server1.example.com“, „Server2.example.com“) sind unbekannt und können variieren. Darüber hinaus enthält die verschachtelte Objektstruktur ein besonderes Feld („Name“) ohne expliziten Schlüssel.

Um diese JSON-Daten effektiv zu entpacken, benötigen wir einen Ansatz, der unbekannte Schlüssel und variable Objektstrukturen dynamisch verarbeiten kann.

Eine praktikable Lösung ist die Verwendung einer Map[string]ServerDetails-Struktur. Dadurch können wir Schlüssel-Wert-Paare speichern, bei denen die Schlüssel den Servernamen entsprechen (z. B. „Server1.example.com“, „Server2.example.com“). Jeder Wert in der Karte wäre eine ServerDetails-Struktur, die die serverspezifischen Details enthält.

Die überarbeitete Struktur würde etwa so aussehen:

type YourStruct struct {
    Success bool
    ResponseMS int
    Servers map[string]*ServerDetails
}

type ServerDetails struct {
    Application string
    Owner string
    [...]
}
Nach dem Login kopieren

Um die JSON-Daten zu entmarshalieren, führen Sie die folgenden Schritte aus kann wie folgt durchgeführt werden:

  1. Unmarshalieren Sie den JSON in eine temporäre Map[string]interface{}-Struktur. Dadurch bleiben die unbekannten Schlüssel und die variable Objektstruktur erhalten.
  2. Durchlaufen Sie die temporäre Karte und erstellen Sie eine neue ServerDetails-Struktur für jeden unbekannten Schlüssel (Servernamen).
  3. Entpacken Sie den verschachtelten JSON-Code für jeden Server in die entsprechende ServerDetails-Struktur unter Verwendung zusätzlicher JSON-Tags nach Bedarf.
  4. Weisen Sie die ausgefüllten ServerDetails-Strukturen im Finale der Server-Map zu YourStruct.

Durch die Übernahme dieses Ansatzes können wir die JSON-Daten erfolgreich in ein strukturiertes Format entpacken, selbst mit unbekannten Schlüsseln und variabler Objektstruktur.

Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich verschachteltes JSON mit unbekannten Schlüsseln und variabler Struktur?. 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