Heim > Backend-Entwicklung > Golang > Wie kann ich einem JSON-String mit unbekannter Struktur einen „count'-Schlüssel hinzufügen?

Wie kann ich einem JSON-String mit unbekannter Struktur einen „count'-Schlüssel hinzufügen?

DDD
Freigeben: 2024-12-08 15:35:13
Original
558 Leute haben es durchsucht

How Can I Add a

JSON mit unbekannter Struktur dekodieren

Die Frage stellt sich, wenn versucht wird, einen JSON-String mit unbekannter Struktur zu ändern. Das Ziel besteht darin, einen „Zähl“-Schlüssel zum vorhandenen JSON hinzuzufügen:

Original JSON:

{ "votes": { "option_A": "3" } }
Nach dem Login kopieren

Gewünschter JSON:

{ "votes": { "option_A": "3" }, "count": "1" }
Nach dem Login kopieren

Die Herausforderung liegt in der Variabilität der JSON-Struktur, was die Verwendung eines herkömmlichen JSON-Decoders mit einer Vorgabe unpraktisch macht Struktur.

Lösung: Unmarshalieren in eine Karte

Um diese Herausforderung zu meistern, besteht ein praktischer Ansatz darin, den JSON in eine Karte von Zeichenfolgen zu Schnittstellen zu entmarshalieren:

var raw map[string]interface{}
json.Unmarshal(in, &raw)
Nach dem Login kopieren

Dies ermöglicht die Manipulation der JSON-Daten auf Schlüsselwertbasis. In diesem Fall kann ein neuer „count“-Schlüssel hinzugefügt werden:

raw["count"] = 1
Nach dem Login kopieren

Um den gewünschten JSON-String zu generieren, wird die geänderte Karte in einen JSON-String remarshallt:

out, err := json.Marshal(raw)
Nach dem Login kopieren

As Als Ergebnis kann die unbekannte JSON-Struktur geändert und der Schlüssel „count“ nach Wunsch hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich einem JSON-String mit unbekannter Struktur einen „count'-Schlüssel hinzufügen?. 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