2017-02-03 1 views
-1

J'ai la réponse JSON suivante:Obtenir la chaîne au lieu de la liste lorsque vous essayez d'obtenir la valeur de la réponse JSON

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

Tout ce que je besoin est de parcourir la liste. Donc, mon plan est d'obtenir la liste d'abord, puis itérer à travers elle. Mais quand j'ai essayé d'obtenir la liste des

list_dict.json().get("response") 

Je suis la chaîne:

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

Comment pourrais-je obtenir la liste?

MISE À JOUR: Voici le code lié 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) 

Voici le 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 
+0

Quel type est le résultat de retour de 'json()'? –

+0

http://ideone.com/7h8iiT ... semble fonctionner correctement –

+0

Qu'est-ce que 'list_dict'? –

Répondre

0

C'est juste le résultat du passage à une liste HttpResponse. Si vous voulez voir la réponse complète en tant que chaîne, passe comme une chaîne:

return HttpResponse(str(result)) 

Bien sûr, pour l'utiliser comme une liste dans votre code, vous n'êtes pas obligé de le convertir en une chaîne, vous peut simplement l'utiliser tel quel.