我有一个python lambda函数,它接收发布的数据。函数看起来有点像:
import json
import ....
def handle(event, context):
if event["body"]:
posted_data = json.loads(event["body"])
print(posted_data)
print(posted_data["email"])
print(posted_data.get("email"))
行print(posted_data)
打印我的json对象,如下所示:
{
"tel": "078723646",
"message": "jsd fljxdisfbv lskdjnildufv nlksjfg",
"email": "my@selg.om"
}
行print(posted_data["email"])
给了我这个错误:[ERROR] TypeError: string indices must be integers
行print(posted_data.get("email")
给出了这个错误:[ERROR] AttributeError: 'str' object has no attribute 'get'
但是,当我打开控制台时,运行python,并执行以下操作:
>>> obj = {"tel": "078276353", "message": "uisdjy df jdslfj lsdjf fb", "email": "tetet@gdgdg.lo"}
>>> type(obj)
我得到的答复是:
<class 'dict'>
所以,我有点搞不清是字典还是字符串
我需要做的是访问对象中的每个值。
我试过this,但效果是逆转了json.loads
我也看了看here,但那没有帮助。我查了this,但似乎和我的案子无关
在@brunns的建议之后,我在posted_data = json.loads(event["body"])
之后插入了print(type(posted_data))
,并发现发布的数据实际上是一个字符串
我希望json.loads(event["body"])
将json对象转换为python对象。如何检索对象中的值
目前没有回答
相关问题 更多 >
编程相关推荐