小编Nic*_*ott的帖子

“ ObjectID”类型的对象不可JSON序列化

我遇到了一个常见问题,但到目前为止,我还没有找到适用于我的解决方案。我想我只是想念一些小东西,但我已经崩溃寻求帮助了。我正在尝试使用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对象清除了可序列化的错误。似乎这不是我正在做的事情的好解决方案。

pymongo python-3.x flask-restful

6
推荐指数
1
解决办法
4548
查看次数

标签 统计

flask-restful ×1

pymongo ×1

python-3.x ×1