Jestem nowy w Pythonie (i ogólnie w kodowaniu), dotarłem tak daleko, ale mam problem. Pytam w stosunku do usługi internetowej, która zwraca plik json z informacjami o każdym pracowniku. Chciałbym wyciągnąć tylko kilka atrybutów dla każdego pracownika, ale mam problemy.Jak mogę wyciągnąć klucz powtarzalny z JSON?
mam ten skrypt do tej pory:
import json
import urllib2
req = urllib2.Request('http://server.company.com/api')
response = urllib2.urlopen(req)
the_page = response.read()
j = json.loads(the_page)
print j[1]['name']
JSON, że zwraca ona wygląda tak ...
{
"name": bill jones,
"address": "123 something st",
"city": "somewhere",
"state": "somestate",
"zip": "12345",
"phone_number": "800-555-1234",
},
{
"name": jane doe,
"address": "456 another ave",
"city": "metropolis",
"state": "ny",
"zip": "10001",
"phone_number": "555-555-5554",
},
Widać, że ze skryptem mogę wrócić nazwisko pracownika w indeksie 1. Ale chciałbym mieć coś więcej na wzór: print j[**0 through len(j)**]['name']
, aby wydrukować nazwisko (a najlepiej także numer telefonu) każdego pracownika na liście JSON.
Jestem prawie pewien, że podchodzę do czegoś złego, ale potrzebuję informacji zwrotnej i wskazówek.
Czy próbowałeś za pomocą pętli for, aby przejść nad swoimi danymi i uzyskać informacje o pracownikach? Podpowiedź, gdy wykonujesz 'j [0]', jak wskazałeś, określasz swój indeks 'listy'. Dlatego jeśli po prostu zapętlisz 'j', każda iteracja będzie twoim słownikiem i będziesz mógł uzyskać dostęp do twoich danych przez każdą iterację. – idjaw
Twój przykład JSON jest błędny. Zawiń go wewnątrz '[...]' –