"ObjectId is not JSON serializable?"时如何正确 jsonify Mongo DB 文档



我正在为我的Python应用程序设置MongoDB,代码如下:

@app.route('/user/<firstName>', methods=['GET'])
def getUser(firstName):
print(firstName)
return jsonify({'users': Users.find({'first_name': firstName})[0]})

引发以下错误:TypeError:ObjectId类型的对象不可JSON序列化由于_id字段为'_id':ObjectId('5e8676dc0d16f3567167d889'(。

我该如何解决这个问题?

在某个地方找到了这段代码,现在它正在工作。*如果有人知道这是从哪里来的,请标记。

class JSONEncoder(json.JSONEncoder):
''' extend json-encoder class'''
def default(self, o):
if isinstance(o, ObjectId):
return str(o)
if isinstance(o, datetime.datetime):
return str(o)
return json.JSONEncoder.default(self, o)

# use the modified encoder class to handle ObjectId & datetime object while jsonifying the response.
app.json_encoder = JSONEncoder

最新更新