【发布时间】:2019-08-28 15:26:58
【问题描述】:
我正在尝试打印与 JSON 键值对的键对应的值。
使用 event_response 检索此 JSON 输出,如下所示。 我想打印 Effect 和 Action 的值,以便将其与正则表达式匹配并采取行动。我想获得没有反斜杠的值,以便与正则表达式匹配。 我尝试了替换,但没有成功
if "responseElements" in event['detail'].keys():
event_response = \
event["detail"]["responseElements"]["policy"]
print(event_response)
policy_details = json.loads("event_response")
print(policy_details)
{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"apigateway.amazonaws.com\"},\"Action\":[\"logs:CreateLogGroup\",\"logs:CreateLogStream\",\"logs:DescribeLogGroups\",\"logs:DescribeLogStreams\",\"logs:PutLogEvents\",\"logs:GetLogEvents\"],\"Resource\":\"*\"}]}
【问题讨论】:
-
打印
event_response时得到什么值? -
event_response 给出了问题中提到的输出,包括版本、声明等。
-
哦,好的,请仔细检查一下,因为您的代码 sn-p 上有两次打印。
-
json.loads("event_response")不可能工作。你的意思是json.loads(event_response)没有引号?看起来该值也不是正确的 JSON —— 可能使用生成 JSON 的接口,或者找出应该使用哪种格式来解码。
标签: python json aws-lambda