JsonResponse от Django – отображаются неверные значения

Обновление: при доступе к странице, которая выводит JSON на выходе с помощью браузера Chrome. Показаны неверные результаты.

Рассмотрим этот код django, который создает json. Когда вы json.dumps long , две цифры отличаются от ожидаемого значения. Вот код:

 from django.http import JsonResponse, HttpResponse import json def dumps1(request): return JsonResponse({'pk': 456011173705795438 }) def dumps2(request): return HttpResponse(json.dumps({'pk': 455928532169112023 })) 

Естественно, вы ожидали бы возвращения dumps1 и HttpResponse с телом как {'pk': 456011173705795438 } то время как dumps2 должен возвращать {'pk': 455928532169112023 } но фактические результаты

 { pk: 456011173705795460 } 

а также

 { pk: 455928532169112000 } 

Обратите внимание, что в обоих случаях последние две цифры в номере изменились. Если вы откроете оболочку django и введите json.dumps ({'pk': 455928532169112023}), то будет создан правильный вывод.

Django 1.8.5 и python 2.7.6 (ipython 4.0.b1)

Это ошибка или функция?

Как упоминалось в комментариях, я открыл оболочку python и сделал следующее:

 >>>from django.http import JsonResponse, HttpResponse >>>import json >>>j = JsonResponse({'pk': 455928532169112023 }) >>>h = HttpResponse(json.dumps({'pk': 455928532169112023 })) >>>for i in j: print i >>>for i in h: print i 

оба напечатаны b'{"pk": 455928532169112023}' которое является правильным значением. Я использую Django 1.8, так что проблема может быть где-то еще.

После ответа @ user2719875. Я искал возможные другие проблемы. Раньше я использовал хром. Проверено в firefox, а затем wget и обнаружил, что результат был верным. Затем я отключил некоторые расширения в хроме. Проблема заключалась в расширении Chrome JsonView. (Я не буду ссылаться на него, потому что это багги). Расширение отображало значения неправильно! Это была ошибка, которая потратила много времени на мое время.

Обновление: после этого я попробовал несколько json-зрителей в магазине chrome. Единственный, который, казалось, дал правильный результат, был «JSON Viewer» от Tulios,