Python: 列表转JSON
我正在尝试把Django和jquery UI自动完成结合起来使用,但在发送响应时遇到了问题。
这是我的代码:
def ajax_tags_autocomplete(request):
""" Autocomplete for tag list """
beginning_of_title = request.GET.get('term', '')
tags_found = Tag.objects.values_list('title', flat=True).filter(title__startswith=beginning_of_title)
return HttpResponse(json.dumps(tags_found), mimetype='application/json')
我遇到了一个错误:
[u"php"] is not JSON serializable
这是为什么呢?难道不能把列表转换成可以使用的格式吗?那我应该传给序列化器什么呢?
如果能给我一些建议,我会非常感激。
1 个回答
9
你确定这个列表里真的都是unicode对象,而不是一些数据库对象吗?u"php"
可能只是这个对象的表示形式。
你可以试试 json.dumps([unicode(t) for t in tags_found])
或者 json.dumps(map(unicode, tags_found))
。