Python'a (ve genel olarak kodlamaya) yeniyim, bu kadar uzağım var ama sorun yaşıyorum. Her çalışanla ilgili bilgileri içeren bir json dosyasını döndüren bir web servisine karşı sorgu yapıyorum. Her çalışan için sadece bir kaç özellik almak istiyorum, ama bir sorun yaşıyorum.JSON'dan yinelenen bir anahtarı nasıl çekerim?
Ben şimdiye kadar bu senaryomuz var:
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']
Bu gibi görünüyor döndüren JSON ...
{
"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",
},
Senaryoyla ben çalışanın adını dönebilmek görebilirsiniz dizin 1'de. print j[**0 through len(j)**]['name']
satırlarında daha fazla bir şey yapmak istiyorum, bu yüzden json listesindeki her çalışanın adını (ve tercihen telefon numarasını) yazdıracağım.
Eminim ki yanlış bir şeye yaklaşıyorum ama biraz geri bildirim ve yönelime ihtiyacım var.
Eğer döngü için veriler üzerinde gidip çalışan bilgi almak için kullanmayı denediniz mi? İpucu, j (0) 'derken, belirttiğiniz gibi, bir" liste "indeksinizi belirtiyorsunuz. Bu nedenle, eğer 'j' üzerinde döngü yaparsanız, her yineleme sizin sözlüğünüz olacak ve verilerinize her bir yinelemeden erişebilirsiniz. – idjaw
Örneğiniz JSON yanlış. '[...] 'içine sarın –