Python: 列表转JSON

3 投票
1 回答
5956 浏览
提问于 2025-04-16 17:56

我正在尝试把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))

撰写回答