2017-08-10 72 views
1

我有看似常见的问题,但到目前为止我看不到适用于我的解决方案。我想我只是缺少一些小东西,但我已经细分了寻求帮助。我正在尝试使用烧瓶和pymongo来获得json输出。'ObjectID'类型的对象不是JSON可序列化的

这里是在控制台中使用打印(结果)对象:

[{'_id': ObjectId('598b5de38161a821188f1a7c'), 'first name': 'first name', 'last Name': 'last name'}] 

当我尝试回报,我得到的错误: 类型错误:类型的对象“的ObjectId”不是JSON序列化

类隐形眼镜(资源):

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} 

我已经试过bson.json_util建议。它确实通过对我的json对象进行双重编码来清除可序列化的错误。似乎这不是我正在做的一个很好的解决方案。

+0

的可能的复制[类型错误:的ObjectId( '')是不JSON序列化(https://stackoverflow.com/questions/16586180/typeerror-objectid-is-not -json-serializable) –

+0

我试过了,它没有产生所需的结果 - 我不记得这个解决方案到底是什么,但我仍然有我的临时空间中的代码并标记为不是解决方案。 –

回答

相关问题