Python,需要长值为整数

2024-09-29 06:31:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用REST将unix时间戳插入到web服务中。当我转换字典时,得到的值是:1392249600000L,我需要这个值是一个整数。在

所以我尝试了int(1392249600000L),得到了1392249600000L,仍然是一个长值。在

我之所以需要这样做,是因为JSON webservice只接受以毫秒为单位的timestamsp,但是当我传递带有“L”的JSON值时,我会得到一个无效的JSON Primative值1392249600000L错误。

有人能帮我解决这个问题吗?看起来应该很容易,但它快把我逼疯了!在


Tags: restwebjson字典错误service时间unix
1条回答
网友
1楼 · 发布于 2024-09-29 06:31:35

在发送JSON数据时,不应该使用Python表示。使用^{} module表示整数:

>>> import json
>>> json.dumps(1392249600000L)
'1392249600000'

在任何情况下,L只是字符串表示法的一部分,以使调试更容易,这表明您有一个long,而不是int值。无论如何,不要将Python字符串表示用于网络通信。在

例如,如果有一个Python值的列表,则该列表的str()表示也将使用列表的内容的repr()表示,从而为long个整数生成L后缀。但是json.dumps()也能正确地处理这种情况,也能正确地处理其他类型(如PythonNone到JSONnull,PythonTrue到JSONtrue,等等):

^{pr2}$

相关问题 更多 >