You are viewing a single comment's thread:
Genau, den counter vorher schon in die JSON-Datei schreiben. Für den counter legst du in python eine Variable an, die mit dem counterwert aus der JSON-Datei überschrieben wird.
Um an den counter zu kommen, überprüfst du, ob es in der JSON-Datei ein key mit dem Namen counter gibt. Wenn das der Fall ist, dann kannst du den value zu diesem key einlesen.
import json
# habe ich jetzt mal als string geschrieben.
jsondata = '''{ "counter" : 0,
"lebensmittel" : {
"01.09.2023": [
"aaa",
"bbb"
],
"02.09.2023": [
"ccc",
"ddd"
]
}
}'''
# variable die den counter speichert, der aber noch initialisiert werden muss
my_counter = None
my_lebensmittel = None
# parse den string/datei und erhalte das root-Element
rootElement = json.loads(jsondata)
# prüfe, ob der key mit dem Namen 'counter' existiert
if 'counter' in rootElement:
my_counter = rootElement['counter']
else:
raise ValueError('counter nicht gefunden')
print(my_counter)
# prüfe nun ob es den key 'lebensmittel' gibt
if 'lebensmittel' in rootElement:
my_lebensmittel = rootElement['lebensmittel']
else:
raise ValueError('lebensmittel nicht gefunden')
# lebensmittel dictionary
for k, v in my_lebensmittel.items():
print(f'{k} -> {v}')
Edit Ich habe die JSON ein bisschen abgeändert, damit du neben den counter auch die Lebensmittel direkt als dictionary einlesen kannst. Dazu habe ich die Lebensmittel mit dem key "lebensmittel" verschachtelt um diese direkt als dictionary in my_lebensmittel speichern zu können. Ohne diesen neuen Key müsstest du die einzelnen Tage kennen die immer unterschiedlich sein können, also 01.09 als key, 02.09 als key usw.
Vielen Dank, ozelot.
Tatsächlich ignoriere ich leider viel zu häufig die Nützlichkeit von None.
Derzeit versuche ich wieder ein wenig zu wiederholen. Schrecklich, was da im Laufe der Zeit verloren geht, auch wenn man denk, man hätte alles irgendwie in Verwendung.
Ich probier das aus und geb dir dann Bescheid.