2016-07-29 7 views
0

Ich möchte das ValidThrough-Attribut in meinem Webhook drucken, das als JSON-Daten über einen POST-Aufruf empfangen wird. Ich weiß, das wurde hier mehrmals gefragt, aber Print-Token ['ValidThrough'] funktioniert nicht für mich.Ich erhalte den Fehler "TypeError: String-Indizes müssen ganze Zahlen sein, nicht str"Greifen Sie in Python auf JSON-Daten zu

+0

ja es gibt auch einen Wert zurück, es hat zwei Attribute, "Token" und "ValidThrough" –

Antwort

2

Da scheint die Antwort bereits Um in JSON zu sein, müssen Sie nicht verwenden.

auf ein Wörterbuch wird eine Zeichenfolge zurückgeben, die offensichtlich nicht indiziert werden kann, und daher dieser Fehler.

0

eine Anfrage Antwort .json() Methode lädt bereits den Inhalt der Zeichenfolge nach json.

Sie sollten das verwenden, aber Ihr Code serialisiert es später wieder in eine Zeichenfolge und daher der Fehler (token ist eine Zeichenfolgendarstellung des erwarteten Dikts, nicht das Diktat). Sie sollten nur die json.dumps(response) Linie, wegzulassen und response['ValidThrough']

Es gibt einen anderen Fehler hier verwenden, auch wenn Sie davon ausgehen, dass die .json() einen String zurückgibt, die wieder deserialisiert werden sollten Sie json.loads(response) verwendet, um zu laden, sie in eine dict haben sollte (Nicht Dumps, um es wieder zu serialisieren)

Verwandte Themen