2016-07-29 10 views
0
header = {'Content-type': 'application/json','Authorization': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' } 
url = 'https://sandbox-authservice.priaid.ch/login' 
response = requests.post(url, headers = header, verify=False).json() 
token = json.dumps(response) 
print token['ValidThrough'] 

POSTコールでJSONデータとして受け取ったWebhookのValidThrough属性を印刷したいとします。私はこれがここで何度も尋ねられているが、印刷トークン['ValidThrough']は私のために働いていないことを知っている。 "TypeError:文字列インデックスはstrでなく整数でなければならない"PythonでJSONデータにアクセスする

+0

はいこれも戻り値です。トークンと 'ValidThrough'という2つの属性があります。 –

答えて

2

jsonにいるためには、json.dumpsを使用する必要はありません。

json.dumpsは、明示的に索引付けできないため、そのエラーを表す文字列を返します。

0

a要求応答.json()メソッドはすでにjsonに文字列の内容を読み込みます。

これを使用する必要がありますが、コードは後でそれを文字列に戻してシリアル化します。したがって、エラー(tokenはdictではなく予期しているdictの文字列表現です)。あなただけのjson.dumps(response)ラインを省略し、別のエラーがあなたが.json()が再びアンシリアライズする必要があります(辞書にそれをロードするためにjson.loads(response)を使用していたはずです文字列を返すことを前提としていても、ここにありますresponse['ValidThrough']

使用する必要があります

関連する問題