Python: список в JSON - PullRequest
       3

Python: список в JSON

3 голосов
/ 19 мая 2011

Я пытаюсь использовать Django с jquery UI autocomplete , но не могу отправить ответ.

Вот мой код:

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 голосов
/ 19 мая 2011

Вы уверены, что это на самом деле список, содержащий объекты Unicode, а не список, содержащий некоторые объекты базы данных?u"php" может быть просто repr() объекта.

Попробуйте json.dumps([unicode(t) for t in tags_found]) или json.dumps(map(unicode, tags_found))

...