2017-03-08 7 views
9

私は以下の非常に基本的なコードを持っています。 TypeError例外:JSONオブジェクトはstrをしなければならない、ではない「バイト」TypeError:JSONオブジェクトは 'bytes'ではなくstrでなければなりません

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')

+0

'response.json()'を使うだけです。手動で 'json.loads(myResponse.content.decode( 'utf-8'))'が必要になります。 –

答えて

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

あなたはちょうど間違った順序で、無邪気な間違いを入れます。

4

要求は、あなたのためにそれを解読してみましょう:

data = response.json() 

Content-Typeヘッダは(それがapplication/jsonにそれを設定するには、サーバの責任です)が正しく設定されていない場合は、時々response.jsonは動作しません。その場合、バイトはresponse.contentから、テキストはresponse.textになります。

関連する問題