亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法封送響應:JSONDecodeError

無法封送響應:JSONDecodeError

大話西游666 2023-08-08 17:13:15
我有一個觸發 Lambda 的 AWS Stepfunction。不幸的是,我無法正確解碼輸入:從 AWS Stepfunction 到 Lambda 的輸入:{  "MessageNumber": 0,  "message": {    "MessageId": "ae5b5d59-6829-4a19-b508-2ba35614e2de",    "ReceiptHandle": "AQEBJsP+Et+WcgstIR9kkA3sH4UDoxYYcoDT2YYa30K87Rx2wSEFaZNg3CNdsjE18LSDMNXWg7VoV/s/p0bSL0PaUxQ0FV34RAwavG0iGMi",    "MD5OfBody": "a726ec7fdda41e454850580e1a2cf4b4",    "Body": "{'stage': 'tst', 'directory': '\\\\\\\\mydomain\\\\data\\\\results', 'variableFilters': ['\\\\filters\\\\x1.txt', '\\\\filters\\\\a1.txt']}",    "Attributes": {      "SenderId": "xxx",      "ApproximateFirstReceiveTimestamp": "xxx",      "ApproximateReceiveCount": "2",      "SentTimestamp": "xxx",      "SequenceNumber": "xxx",      "MessageDeduplicationId": "xxx",      "MessageGroupId": "1"    }  }}Python代碼如下:def lambda_handler(event, context):    print(f'Received Event: {event}')    try:        body = json.loads(event.get('message').get('Body'))        stage = body["stage"]        directory= body["directory"]    except Exception as e:        return (e)我收到錯誤:{  "errorMessage": "Unable to marshal response: JSONDecodeError('Expecting property name enclosed in double quotes: line 1 column 2 (char 1)') is not JSON serializable",  "errorType": "Runtime.MarshalError"}有人知道如何解決這個問題嗎?
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您必須將 .txt 中的單引號替換為雙引號body。因為在有效的 JSON 中,字符串以"


body = "{'stage': 'tst', 'directory': '\\\\\\\\mydomain\\\\data\\\\results', 'variableFilters': ['\\\\filters\\\\x1.txt', '\\\\filters\\\\a1.txt']}"

body = json.loads(body.replace('\'', '"'))


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號