我使用AWS Lambda
和{AWS Api Gateway
。我的lambda函数应该返回一个如下所示的响应,但是我在JSON响应中使用了正确的body形式:
return_value = {
"statusCode": 200,
"isBase64Encoded": 'false',
"headers": {"Content-Type": "application/json"},
"body": {payload['note']}
}
payload['note']
的类型是unicode
,所以我不知道在body
相反的括号中到底要放什么,因为我是python新手,尝试了很多次,但都没能搞清楚。我试图用以下方法将其转换为字符串:
unicodedata.normalize('NFKD', payload['note']).encode('ascii', 'ignore')
但也没用。在
首先,我认为之前将unicode字符串转换为python字符串是个好主意,因为我不知道其余代码是否可以在json中处理unicode。在
我认为您的问题与json格式有关。作为JSON,body字段应该包含键值对。在
尝试使用:
最好先使用标准对象构建它,然后在返回时将其转换为JSON。例如:
不幸的是,您会注意到,在构建消息中的头时,我从长格式dict()创建切换到了简写形式(这是一个快速的脏示例)。输出如下:
^{pr2}$如您所见,以一种易于理解的方式构建对象,然后让json库将所有转换转换为正确格式的响应是非常简单的。我希望这有帮助。在
相关问题 更多 >
编程相关推荐