Python,需要很长的整数值

时间:2014-04-10 13:03:12

标签: python json rest int long-integer

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

所以我尝试int(1392249600000L)并获得1392249600000L,仍然是一个很长的值。

我需要这个的原因是因为JSON webservice只接受timestamsp,其中包含毫秒,但是当我使用' L'传递JSON值时。在其中我得到了一个无效的JSON Primative值1392249600000L错误。

有人可以帮我解决这个问题吗?它看起来应该很容易,但它让我发疯了!

1 个答案:

答案 0 :(得分:3)

发送JSON数据时,不应使用Python表示。使用json module来代表整数:

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

在任何情况下,L只是字符串表示的一部分,以便于调试,明确表示您有long,而不是int值。在任何情况下,都不要将Python字符串表示用于网络通信。

例如,如果您有一个Python值的列表,该列表的str()表示也将使用内容的repr()表示,导致L整数的long后缀。但json.dumps()也正确处理此类情况,也正确处理其他类型(如Python None到JSON null,Python True到JSON { {1}}等等):

true