更新:当您使用chrome浏览器访问一个输出JSON的页面时。显示的结果不正确。在
考虑一下这个生成json的django代码。当json.dumps
along
时,这两个数字与预期值不同。代码如下:
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
返回,并且以{'pk': 456011173705795438 }
的形式对主体进行HttpResponse,而dumps2应该返回{'pk': 455928532169112023 }
,但实际结果是
以及
{
pk: 455928532169112000
}
请注意,在这两种情况下,数字的最后两位数字都发生了变化。如果打开django shell并输入json.dumps文件({'pk':455928532169112023})生成正确的输出。在
Django 1.8.5和python 2.7.6(ipython 4.0.b1)
这是一个bug还是一个特性?在
正如评论中提到的,我打开了python shell并执行了以下操作:
都打印了
b'{"pk": 455928532169112023}'
,这是正确的值。我也在使用django1.8,所以问题可能出在其他地方。在在@user2719875的answer之后。我在寻找其他可能的问题。我以前用过chrome。检查了firefox和wget,发现结果是正确的。然后我在chrome中禁用了一些扩展。问题出在chromejsonview扩展中。(我不会链接到它,因为它是小车)。扩展显示的值不正确!!那只虫子浪费了我很多时间。在
更新:之后,我在chrome商店试用了几个json查看器。唯一能产生正确结果的是“Tulios”的“JSON查看器”
相关问题 更多 >
编程相关推荐