Dzień dobry, cześć wszystkim!
Niedawno rozpocząłem przygodę z Pythonem, głownie siedziałem w webowych językach oraz JavaScript, teraz czas na Pythona i trzeba przyznać, że jest spoko językiem, ale nie o tym teraz mowa.
Mam problem z pobieraniem wartości z pliku JSON https://pastebin.com/QgG1sD18 za pomocą Pythona. Udało mi się to zrealizować w JavaScripcie, ale teraz mam za zadanie zrobić to w Pythonie.
Mianowicie zadanie polega na tym by pobrać wszystkie Price a raczej ich wartości.
W JS robiłem to tak: sprawdź czy zawiera attachments>jeżeli tak to sprawdź czy posiada fields>jeżeli tak to sprawdź czy posiada price i weź value>push do tablicy wyników.
Tu wklejam JShttps://pastebin.com/t4dwQ195
Nie potrafię za bardzo poruszać się po tym konkretnym JSONie przez złożoność tablic i obiektów. Ucząc się na innych przykładach potrafiłem konstruować warunki, iterować itp. tu nie. Tym bardziej złączając to do "kupy". Tutaj udało mi się zrobić tylko tyle:
import json
from pprint import pprint
data = json.load(open('\json\\2016-12-11.json'))
field_list = data[1]['attachments'][0]['fields']
for d in field_list:
pprint(d['value'])
Powyższy kod wypisuje mi z pliku JSON z drugiego attachments i 1 fields wszystkie value. Jest to za bardzo na sztywno.
for a in data:
print(a['attachments'][0]['fields'][0]['value'])
Natomiast ten iteruje każdy attachments i wypisuje pierwszy fields i z niego 1 value. To już bliższe rozwiązanie, aczkolwiek niekażdy attachments zawiera fields i niekażdy fields ma tyle samo value. I tu mam problem w zrozumieniu jak sie po tym poruszać i złączyć warunki, pętle i tworzenie klucze w jedną całość. Prosze o pomoc. Będę wdzięczny za wszelkie podpowiedzi i rozwianie moich niejasności ;)