Ich brauche Hilfe bei der Aktualisierung eines Json - Wörterbuch Wertes mit variablen Schlüsseln.Wie kann ich ein Json-Wörterbuch auf verschiedenen Ebenen aktualisieren?
Hier ist, was ich weiß funktioniert und das Problem, das ich habe.
Sagen wir, ich dies tun:
print(my_json['convergedSystem']['endpoints'][0]['credentials'][0]['credentialElements']['username'])
ich Mike Jetzt zurück, wenn ich dies tun:
my_json['convergedSystem']['endpoints'][0]['credentials'][0]['credentialElements']['username'] = ‘Carol’
Und das gleiche Druck tun:
print(my_json['convergedSystem']['endpoints'][0]['credentials'][0]['credentialElements']['username'])
ich zurück Carol
So würde ich erwarten, dass es funktioniert. Problem ist, dass ich nicht immer weiß, was die obigen Indexschlüssel sind oder wie viele ... Ich kann jedoch eine Liste von ihnen bekommen. Manchmal brauche ich kann
my_json['convergedSystem']['endpoints'][0]['credentials'][0]['credentialElements']['username']
Andere Zeiten aktualisieren
my_json['convergedSystem']['credentials'][0]['credentialElements']['username']
auf einer anderen Ebene sein könnte oder sogar
my_json['FullSystem'][switches]['endpoints'][2]['credentials'][0]['credentialElements']['username']
Wie kann ich einstellen, dass im Code? Wieder werde ich immer eine Liste zur Verfügung zu mir wie folgt aus:
['convergedSystem', 'endpoints', 0, 'credentials', 0, 'credentialElements', 'username']
oder was auch immer es passiert in diesem Moment zu sein. Ich weiß, ich werde immer für [ ‚credentialElements‘] suchen [ ‚username‘] an einem gewissen Punkt jedoch
Wahrscheinlich benötigen Sie eine rekursive Funktion, die das Wörterbuch durchquert. Das wäre der praktikabelste Ansatz, wenn Sie eine Liste mit Schlüsseln haben, aber keine Ahnung, wo oder in welcher Ebene sie sind. – DeepSpace
Bitte verzeihen Sie, ich bin ein bisschen wie ein Hack, wenn es um Python geht. Ich bin in der Lage, durch das Verzeichnis zu gehen, das ist, wie ich jede Instanz von 'credentialElements' auf jeder Ebene finde, und wie ich die Liste der einzelnen Ebenen bekomme. Ich weiß einfach nicht, wie man diesen Level verwendet, um den Wert an diesem Punkt zu aktualisieren. –