在尝试获取JSON响应的值时获取字符串而不是列表

时间:2017-02-03 18:29:16

标签: python django

我有以下JSON响应:

{"response": [100, {"name": "Bill"}, {"name": "John"}]}

我只需要遍历列表。 所以我的计划是首先获取列表,然后迭代它。 但是当我试图用

获取列表时
list_dict.json().get("response")

我收到了字符串:

100{"name": "Bill"}{"name": "John"}

我怎么能得到名单?

更新:以下是相关代码views.py

from django.http import HttpResponse
from lib.api import Api
import requests, json

def verify(request):
    api = Api(access_token=access_token)
    list_dict = api.get_all(owner_id=owner_id)
    result = list_dict.json().get("response")
    return HttpResponse(result)

这是api.py

import requests
class Api:
    def __init__(self, access_token='', **kwargs):
        self.access_token = access_token

    def get_all(self, owner_id=''):
        api_url_template = 'http://api.example.com/method/get.All?owner_id={0}&access_token={1}'
        api_url = api_url_template.format(owner_id, self.access_token)
        response = requests.get(api_url)
        return response

1 个答案:

答案 0 :(得分:0)

这只是将列表传递给HttpResponse的结果。如果要将完整响应视为字符串,请将其作为字符串传递:

return HttpResponse(str(result))

当然,要将它用作代码中的列表,您不需要将其转换为字符串,您可以按原样使用它。