使用MongoDB和AmazonAPI网关解析json

使用MongoDB和AmazonAPI网关解析json,json,mongodb,amazon-web-services,Json,Mongodb,Amazon Web Services,我想在访问AmazonAPI网关调用URL时从mongodb数据库获取数据。 我的lambda处理程序是用Python编写的,如下所示: def lambda_handler(event, context): return collection.find({}) { "data": [ "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id\"}}", "{\"content\": \"something

我想在访问AmazonAPI网关调用URL时从mongodb数据库获取数据。 我的lambda处理程序是用Python编写的,如下所示:

def lambda_handler(event, context):
    return collection.find({})
{
"data": [
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id\"}}", 
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id \"}}", 
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id\"}}"
   ]
}
问题是,由于mongodb对象和datetime对象,pymongo游标不能序列化为json格式。我曾尝试使用
bson.json_util
工具,但随后得到如下响应:

def lambda_handler(event, context):
    return collection.find({})
{
"data": [
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id\"}}", 
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id \"}}", 
    "{\"content\": \"something\", \"_id\": {\"$oid\": \"some id\"}}"
   ]
}
我怀疑我得到了上述结果,因为api网关将返回数据格式化为Json,导致返回数据被编码两次


有没有办法阻止AmazonAPI网关将数据编码为json,这样我就可以使用
bson.json_util
?或者有没有其他方法可以使pymongo游标序列化为json格式,而无需两次格式化?

如果AWS api gateway已经发送了json对象,那么为什么要再次将其转换为json对象?是否尝试在api gateway中映射模板@Aky_0788 AWS api gateway会自动将其转换为json对象,但由于数据包含ObjectId和datetime对象,因此会失败。@nightgaunt这是什么意思?我不确定如何使用映射模板来完成我的尝试。如果AWS api gateway已发送json对象,那么您为什么再次将其转换为json对象?是否尝试在api gateway中使用映射模板@Aky_0788 AWS api gateway会自动将其转换为json对象,但由于数据包含ObjectId和datetime对象,因此会失败。@nightgaunt这是什么意思?我不确定如何使用映射模板来完成我要做的事情。