Heute dann die nächste Herausforderung. Mein JSON soll so aussehen, damit ich das entsprechend erweitern kann.
Stocks {0: {'stockname': 'Deutsche Telekom Aktie', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 100}, 1: {'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}}
Die Daten sollen wie oben schon ausprobiert, in einer Redis Datenbank liegen. So weit auch kein großes Problem. ABER, der Zugriff auf diese Daten war dann meine nächste Hürde
Ok, ich habe also mehrere Einträge im JSON File bzw. in der Datenbank. Wie komme ich da nun wieder dran. Ein paar später dann die Lösung.
Wie komme ich an den einzelnen Eintrag, also über den Index??
r1.json().get('stocks', 1)
Gibt als Ergebnis
{'stockname': 'Henkel', 'wkn1': '4534543534', 'wkn2': 'sfsdfsdfsfdfd', 'quantity': 50}
Ok, das passt schon mal. Somit kann man dann gewohnt auf die einzelnen Elemente zugreifen.
print("TESTING", testing['stockname'])
Ausgabe
TESTING Henkel
Ok, Teil 1 erledigt. Jetzt habe ich ja irgendwann mehrere Elemente in der Liste und brauch dann den letzten Index , um damit was machen zu können. Also, z.B. durch die Daten zu loopen.
objkeys = r1.json().objkeys('stocks')
print("Objkeys", objkeys)
Ausgabe
Objkeys ['0', '1']
Ok, kommt eine Liste des Index zurück. Damit kann man arbeiten
Ich hatte dann zum Testen mittels einer while Schleife die Daten geladen, aber jetzt beim Tippen klingelt es und wir machen das schön mit enumerate
@staticmethod
def load():
data = {}
for count, value in enumerate(objkeys):
testing = r1.json().get('stocks', count)
data[count] = {
"stockname": testing['stockname'],
"wkn1": testing['wkn1'],
"wkn2": testing['wkn2'],
"quantity": testing['quantity']}
return data
Somit habe ich die Daten aus der Redis Datenbank in einem Objekt und kann damit arbeiten.