Я использую python и django для разработки некоторых API REST. У меня вопрос о строке unicode JSON, возвращаемой вызовом запросов. Таким образом, я делаю что-то вроде:json object возвращается HTTP-ответом
resp = requests.get(self.url)
if resp.status_code is status.HTTP_200_OK:
obj = json.loads(resp.json())
С этим я могу перебирать записи, как:
for o in obj:
print o
Это печатает что-то вроде:
{u'pk': 1, u'model': u'aslapp.imagetypemodel', u'fields': {u'type': u'PNG'}}
{u'pk': 2, u'model': u'aslapp.imagetypemodel', u'fields': {u'type': u'JPG'}}
Однако, я прочитал, что resp.json()
вызов должен вызвать этот метод json.loads()
внутри и позаботиться о кодировке. Однако только что сделанные:
obj = resp.json()
for o in obj:
print o
Только итерации по каждому символу в строке юникода. Так я должен снова запустить его через метод loads
, если я хочу перебирать записи JSON? Каким будет правильный способ повторить все записи JSON, возвращенные возвратом resp.json()
.
Я немного смущен - 'request.get' связан с django или [запросами] (http://docs.python-requests.org/en/master/)? – dahrens