Почему Django дает мне это исключениеПочему я получаю это исключение simplejson?
[(7, u'Acura'), (18, u'Alfa Romeo'), ...] is not JSON serializable
Когда я пытаюсь
data = VehicleMake.objects.filter(model__start_year__gte=request.GET.get('year',0)).values_list('id','name')
return HttpResponse(simplejson.dumps(data, ensure_ascii=False), mimetype='application/json')
?
Это простой список кортежей. Он работает с моим другим жестко запрограммированным списком, который почти в том же формате. Это потому, что строки являются unicode? Как мне это обработать?
Он отлично работает, когда я закодировать его как Dict:
def get_makes(request):
year = request.GET.get('year',0)
data = VehicleMake.objects.filter(model__start_year__lte=year, model__stop_year__gte=year).order_by('name').distinct().values_list('id','name')
return HttpResponse(simplejson.dumps(odict(data), ensure_ascii=False), mimetype='application/json')
Некоторые марки имеют акцентированные символы ... это может быть это? Да, список большой (~ 900 составляет всего).
simplejson может обрабатывать строки Unicode просто отлично. Можете ли вы показать нам полные данные? –
@Ned: Есть около 900 записей .... и это было b ** ch для моего, так что нет. – mpen