Python (AWS Lambda)“;errorMessage";:&引用;无法封送响应:HTTPResponse类型的对象不可JSON序列化;
因此,我一直在通过POSTMAN测试我的服务器API,结果如下所示: 我使用AWS Lambda的目标是(在日志中)显示从该API获得的json响应。我在lambda中的代码如下所示:Python (AWS Lambda)“;errorMessage";:&引用;无法封送响应:HTTPResponse类型的对象不可JSON序列化;,python,json,amazon-web-services,aws-lambda,Python,Json,Amazon Web Services,Aws Lambda,因此,我一直在通过POSTMAN测试我的服务器API,结果如下所示: 我使用AWS Lambda的目标是(在日志中)显示从该API获得的json响应。我在lambda中的代码如下所示: import json import urllib3 def lambda_handler(event, context): http = urllib3.PoolManager() response = http.request('GET',
import json
import urllib3
def lambda_handler(event, context):
http = urllib3.PoolManager()
response = http.request('GET',
"http://106.10.54.227:9062/api/v1/weather-api",
retries = False)
return response
但是,当我测试这个lambda函数时,我得到以下错误:
Response:
{
"errorMessage": "Unable to marshal response: Object of type HTTPResponse is not JSON serializable",
"errorType": "Runtime.MarshalError"
}
我不明白的是,API的响应是JSON本身,所以我不知道为什么它会抱怨它不可序列化
有没有办法解决这个问题?非常感谢 尝试
json.loads(response.read().decode('utf-8'))
仍会收到错误:“errorMessage”:“期望值:第1行第1列(char 0)”,“errorType”:“JSONDecodeError”
打印(响应)并检查cloudwatch lots您的响应的实际形式是什么
objectIt说响应为空,所以现在您知道它失败的原因了。尝试json.loads(response.read().decode('utf-8'))
仍然收到错误:“errorMessage”:“期望值:第1行第1列(char 0)”,“errorType”:“JSONDECODEROR”
打印(响应)
并签入cloudwatch lots您的响应的实际形式是什么
对象它说响应为空,所以现在您知道它失败的原因了。