2015-05-08 1 views
2

ниже мой питон кодPython, я хочу, чтобы сделать список json.dumped Но ошибка «ДИКТ» объект не имеет атрибута «свалки»

r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY)   
json = r.json()                                   
items = json.get("items")                                 
videos = []                                    
for x in items:                                   
    title = x["snippet"]["title"]                               
    videoId = x["id"]["videoId"]                                
    channelTitle = x["snippet"]["channelTitle"]                            
    cam_thumbnails = x["snippet"]["thumbnails"]["medium"]["url"]                        
    publishedAt = x["snippet"]["publishedAt"]                            
    data = { "title" : title,                                
      "videoId" : videoId,                               
      "channelTitle" : channelTitle,                             
      "cam_thumbnails" : cam_thumbnails,                            
      "publishedAt" : publishedAt,                             
      }                                    
    videos.append(data)                                  
print json.dumps(videos) # this code cause problem 

Я вставил «Dict» в «список», а затем называется json.dumps() Но возникла ошибка Ошибка messege is 'dict' объект не имеет атрибутов 'dumps'

Что такое проблема ?, и как я могу решить эту проблему?

+3

Ваша переменная называется json, как и модуль json, не вызывайте вашу переменную json, и проблема не исчезнет –

+0

, если вы импортировали json-модуль, поскольку вы назначаете теневое имя 'json' с результатом r.json(), json стал словарем. измените 'json' на другое имя и убедитесь, что вы импортируете модуль json, должны работать – Anzel

+0

@ Анжель, спасибо, я решил эту проблему, удачи! – hanjaelee

ответ

6

Ранее вы должны были импортировать модуль json, написав import json, который создает переменную в вашем пространстве имен, имя которой равно json. Затем вы делаете json = r.json(), т.е. вы назначаете новую ссылку на имя json, которое больше не представляет собой модуль json, но вместо этого это результат метода r.json(). Таким образом, вы больше не можете использовать json-модуль, используя синтаксис json.function(), потому что json является результатом r.json(). Чтобы решить вашу проблему, вы должны изменить имя переменной с именем json в вашем примере, например, json_dict или что-нибудь еще.

+0

Спасибо за ответ, я это понимаю. – hanjaelee

Смежные вопросы