2017-03-08 27 views
9

Aşağıdaki, çok temel bir kod koyar; TypeError: JSON nesnesi, str edilmelidir değil 'bayt'TypeError: JSON nesnesinin str olması gerekir, 'bayt' değil

ben şöyle ama aynı hatayı atar gibi Veri değişkene kod çözmeyi ayarlamak için denemek
import requests 
import json 

url = 'my url' 
user = 'my user' 
pwd = 'my password' 

response = requests.get(url, auth=(user, pwd)) 

if(myResponse.ok): 
    Data = json.loads(myResponse.content) 

; jData = json.loads(myResponse.content).decode('utf-8')

Herhangi bir öneriniz var mı?

+0

sadece 'response.json()' kullanın. Manuel olarak, json.loads (myResponse.content.decode ('utf-8')) 'a ihtiyacınız olacaktır. –

cevap

15
json.loads(myResponse.content.decode('utf-8')) 

Sadece yanlış sıraya, masum bir hataya koyun.

4

Let istekleri sizin için deşifre: Content-Type başlığı (o application/json o ayarlamak için sunucunun sorumluluğunda) doğru ayarlanmamış ise

data = response.json() 

sonra bazen response.json çalışmaz. Bu durumda, response.content numaralı bayttan ve response.text'dan gelen metni alabilirsiniz.

İlgili konular