我遇到了一个常见问题,但到目前为止,我还没有找到适用于我的解决方案。我想我只是想念一些小东西,但我已经崩溃寻求帮助了。我正在尝试使用flask和pymongo获取json输出。
这是控制台中使用print(results)的对象:
[{'_id': ObjectId('598b5de38161a821188f1a7c'), 'first name': 'first name', 'last Name': 'last name'}]
Run Code Online (Sandbox Code Playgroud)
当我尝试返回该错误时,我收到错误:TypeError:“ ObjectId”类型的对象不是JSON可序列化的
类Contacts(资源):
def get(self):
results =[]
connect = MongoClient("<REMOVED>")
db = connect['<REMOVED>']
collection = db['contact']
contacts = collection.find()
if collection:
number_of_contacts = collection.count()
for document in contacts:
results.append(document)
print(results)
return {'results': results, 'count': number_of_contacts}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了bson.json_util建议。它确实通过双重编码json对象清除了可序列化的错误。似乎这不是我正在做的事情的好解决方案。