Saya mencoba melakukan iterasi melalui objek JSON untuk mengimpor data, yaitu judul dan tautan. Sepertinya saya tidak bisa mendapatkan konten yang sudah lewat :
.
JSON:
[
{
"title": "Baby (Feat. Ludacris) - Justin Bieber",
"description": "Baby (Feat. Ludacris) by Justin Bieber on Grooveshark",
"link": "http://listen.grooveshark.com/s/Baby+Feat+Ludacris+/2Bqvdq",
"pubDate": "Wed, 28 Apr 2010 02:37:53 -0400",
"pubTime": 1272436673,
"TinyLink": "http://tinysong.com/d3wI",
"SongID": "24447862",
"SongName": "Baby (Feat. Ludacris)",
"ArtistID": "1118876",
"ArtistName": "Justin Bieber",
"AlbumID": "4104002",
"AlbumName": "My World (Part II);\nhttp://tinysong.com/gQsw",
"LongLink": "11578982",
"GroovesharkLink": "11578982",
"Link": "http://tinysong.com/d3wI"
},
{
"title": "Feel Good Inc - Gorillaz",
"description": "Feel Good Inc by Gorillaz on Grooveshark",
"link": "http://listen.grooveshark.com/s/Feel+Good+Inc/1UksmI",
"pubDate": "Wed, 28 Apr 2010 02:25:30 -0400",
"pubTime": 1272435930
}
]
Saya mencoba menggunakan kamus:
def getLastSong(user,limit):
base_url = 'http://gsuser.com/lastSong/'
user_url = base_url + str(user) + '/' + str(limit) + "/"
raw = urllib.urlopen(user_url)
json_raw= raw.readlines()
json_object = json.loads(json_raw[0])
#filtering and making it look good.
gsongs = []
print json_object
for song in json_object[0]:
print song
Kode ini hanya mencetak informasi sebelumnya :
. ( abaikan lagu Justin Bieber :))
sumber
json_object
, bukanjson_object[0]
, lalu dapatkan item individual dari setiap dict.Saya yakin Anda mungkin bermaksud:
NB: Anda bisa menggunakan
song.iteritems
bukansong.items
jika di Python 2.sumber
for (attribute, value) in song.iteritems():
, atau(var1, var2) = (1, 2)
atauvar1, var2 = 1, 2
.dict.iteritems()
menghasilkan(key, value)
pasangan (tupel). Cari “python tuple unpacking”.song.iteritems
kesong.items
.Pertanyaan ini sudah lama ada di sini, tetapi saya ingin berkontribusi bagaimana saya biasanya mengulang melalui objek JSON. Dalam contoh di bawah ini, saya telah menunjukkan string hard-code yang berisi JSON, tetapi string JSON bisa dengan mudah berasal dari layanan web atau file.
sumber
jsonObject
adalah adict
. Dalam kode di atas, saya lebih sukafor key, value in jsonObject.items():
.Setelah deserialisasi JSON, Anda memiliki objek python. Gunakan metode objek biasa.
Dalam hal ini Anda memiliki daftar kamus:
dll.
sumber
Saya akan menyelesaikan masalah ini lebih seperti ini
sumber
untuk iterasi melalui JSON Anda dapat menggunakan ini:
sumber
Untuk Python 3, Anda harus mendekode data yang Anda dapatkan kembali dari server web. Misalnya saya memecahkan kode data sebagai utf8 lalu menanganinya:
Jika Anda tidak mendekode, Anda akan mendapatkan byte vs kesalahan string di Python 3.
sumber