Reputation: 4049
Does anyone know how to return a list object when you do HttpResponse.
I have tried
HttpResponse(['a'.'b'])
but this obviously doesn't work.
I have also tried the following
return HttpResponse(Context(['a','b']),mimetype='text/plain')
but this returns some extra thing which i dont want
['a', 'b']{'False': False, 'None': None, 'True': True}
i just want it to return
['a', 'b']
Thanks
Upvotes: 6
Views: 24211
Reputation: 451
You can use the HttpResponse subclass: JsonResponse.
Reference: https://docs.djangoproject.com/en/2.0/ref/request-response/#jsonresponse-objects
For your instance:
from django.http import JsonResponse
return JsonResponse(['a', 'b'], safe=False)
Upvotes: 4
Reputation: 550
Hi this one will work:
your views :
import json
from django.http import HttpResponse
def function(request):
your_list = ['a', 'b']
your_list_as_json = json.dumps(your_list)
return HttpResponse(your_list_as_json)
Thank you for checking.
Upvotes: 2
Reputation: 1
Use comma (,
), and not dot (.
) to separate list elements, i.e:
return HttpResponse("['a', 'b']")
Upvotes: -1
Reputation: 47172
This should do it for you
from django.utils import simplejson
json_stuff = simplejson.dumps({"list_of_jsonstuffs" : ["a", "b"]})
return HttpResponse(json_stuff, content_type ="application/json")
Upvotes: 6