Python (AWS Lambda)“;errorMessage";:&引用;无法封送响应:HTTPResponse类型的对象不可JSON序列化;

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',

因此,我一直在通过POSTMAN测试我的服务器API,结果如下所示:

我使用AWS Lambda的目标是(在日志中)显示从该API获得的json响应。我在lambda中的代码如下所示:

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您的
响应的实际形式是什么
对象它说响应为空,所以现在您知道它失败的原因了。