2017-08-10 28 views
1

私はよくある問題のようですが、これまでのところ私に当てはまる解決策は見当たりません。私はちょっと小さいものを見逃していると思うが、私は助けを求めるために分解した。フラスコとpymongoを使用してjson出力を取得しようとしています。ここオブジェクト 'ObjectID'のオブジェクトがJSONシリアライズ可能ではありません

は、印刷(結果)を使用して、コンソール内のオブジェクトです:

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

私はエラーを取得することに返却しようとすると: はTypeError:タイプのオブジェクトを「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

可能な重複[例外TypeError:ObjectIdが( '')ではありませんJSON、シリアライズ](https://stackoverflow.com/questions/16586180/typeerror-objectid-is-not -json-serializable) –

+0

私はこれを試しましたが、望みの結果が得られませんでした。私はこの解決策が何をしたのかを覚えていませんが、まだ私のスクラッチスペースにコードを残しています。 –

答えて

関連する問題