2015-09-03 3 views
0

Я получил объект JSON в ответ на вызов API Instagram.Итерация над Instagram json

Я хочу, чтобы получить доступ к URL-адресов всех изображений в ответ, до сих пор мне удалось открыть только первое изображение:

from pprint import pprint 
with open('test.json') as data_file: 
    mydata = json.load(data_file) 
    print mydata["data"][0]["images"]["standard_resolution"]["url"] 

Я изо всех сил, как перебрать MyData правильно.

JSON выглядит примерно так:

{ 
"meta:":{} 
"data":[ 
    {} 
    {} 
    {} 
} 

Я застреваю в этом вложенном цикле:

for x in mydata["data"]: 
    for y in x: 
     print y 

выходы

attribution 
tags 
user 
comments 
filter 
images 
link 
location 
created_time 
users_in_photo 
caption 
type 
id 
likes 

ответ

2
dataset = mydata['data'] 
for data in dataset: 
    url = data['images']['standard_resolution']['url'] 
+0

ах спасибо так много! Я использовал вложенный цикл, где ни один не был необходим! – birgit

+0

бывает. рад, что это сработало. – taesu

1

Если первое изображение доступно как -

mydata["data"][0]["images"]["standard_resolution"]["url"] 

Затем вы должны перебрать более mydata["data"], который является списком, используя для цикла и получая каждый URL из каждого словаря в нем.

Пример -

with open('test.json') as data_file: 
    mydata = json.load(data_file) 
    for img in mydata["data"]: 
     print img["images"]["standard_resolution"]["url"] 
Смежные вопросы