在 json 可序列化 Python 对象中传递整数值

问题描述 投票:0回答:1

我是Python新手,一直在尝试解决这个问题。 有一个用 Python 编写的 AWS lambda 函数,它调用如下所示的 REST 点:

requests.post(Url,headers=Headers,data=Payload)

上述调用中的有效负载是这样传递的:

Payload='[{"Code": "'+someCode+'","version": "v1","itemNumber": 1,"referenceId": "'+referenceId+'","alertBody": {"customerId": "'+customerId+'"},"Context":{"Id":"'+str(payload['body']['State']['Id'])+'","Name":"Payment","Expiration":0,"Action":"","sourceTimestamp":'+ str(int(currentTime.timestamp()))+',"sourceApp":"someApp"}}]'

但是,由于我们将此有效负载发布到的 API 端的架构最近发生了变化,它已停止工作。 API 现在期望 "sourceTimestamp":'+ str(int(currentTime.timestamp())) 字段作为整数而不是字符串发送(当前它作为字符串发送,如上面的有效负载所示)

有人可以指导我如何修复它并将时间戳作为整数而不是字符串发送吗?我想遵守上面的有效负载格式。

python python-3.x aws-lambda
1个回答
0
投票

Json 整数必须在不使用双引号的情况下给出。因此,只需删除

str(payload['body']['State']['Id'])
周围的双引号即可适合您的情况

© www.soinside.com 2019 - 2024. All rights reserved.