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" } }
Gewünschter JSON:
{ "votes": { "option_A": "3" }, "count": "1" }
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)
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
Um den gewünschten JSON-String zu generieren, wird die geänderte Karte in einen JSON-String remarshallt:
out, err := json.Marshal(raw)
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!