2016-07-18 20 views
0

Ich benutze eine Python-Rest-API und möchte Daten von einer API abrufen, die mir JSON-Antwort mit einem Auffüllen (JSONP-Anfrage) gibt. Ich habe einige Beispiele gesehen, bei denen JavaScript (jquery und angularjs) eine Callback-Funktion zum Abrufen von json hinzufügen muss. Wie mache ich das gleiche mit Python?implementieren Jsonp-Anfrage für Python

Antwort

2

Sie müssen nicht, das Auffüllen wird nur im Browser-/JavaScript-Kontext benötigt, um bestimmte Sicherheitsbeschränkungen zu umgehen. Für die Verwendung von Python nehmen Sie einfach die rohe Antwort, entfernen Sie das Padding und analysieren Sie die restlichen Daten entsprechend.

from json import loads 

a = 'paddingFunction({"a":1,"b":2,"c":3,"d":4,"e":5})' 
startidx = a.find('(') 
endidx = a.rfind(')') 

print loads(a[startidx + 1:endidx]) 
>>> {u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}