Schleife durch verschachtelte JSON-Strukturen in Go
Diese Frage untersucht, wie man effizient über verschachtelte JSON-Strukturen in Go iteriert. Betrachten Sie das in der Frage bereitgestellte JSON-Beispiel. Ziel ist es, alle Schlüssel-Wert-Paare aus dieser komplexen JSON-Struktur zu extrahieren.
Mithilfe einer Kombination aus Typumschaltung und Rekursion kann eine benutzerdefinierte Funktion implementiert werden, um eine Zuordnung von Zeichenfolgenschlüsseln zu Schnittstellenwerten zu analysieren:
func parseMap(aMap map[string]interface{}) { for key, val := range aMap { switch concreteVal := val.(type) { case map[string]interface{}: fmt.Println(key) parseMap(val.(map[string]interface{})) case []interface{}: fmt.Println(key) parseArray(val.([]interface{})) default: fmt.Println(key, ":", concreteVal) } } }
In ähnlicher Weise kann ein Array von Schnittstellenwerten rekursiv analysiert werden:
func parseArray(anArray []interface{}) { for i, val := range anArray { switch concreteVal := val.(type) { case map[string]interface{}: fmt.Println("Index:", i) parseMap(val.(map[string]interface{})) case []interface{}: fmt.Println("Index:", i) parseArray(val.([]interface{})) default: fmt.Println("Index", i, ":", concreteVal) } } }
Durch Aufruf Da diese rekursiv funktionieren, kann die JSON-Struktur iteriert werden, um alle Schlüssel-Wert-Paare im gewünschten Format zu extrahieren.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go effizient über verschachtelte JSON-Strukturen iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!