2017-08-10 4 views
1

Je rencontre ce qui semble être un problème courant mais jusqu'à présent je ne vois pas de solution qui s'applique à moi. Je pense que je manque juste quelque chose de petit mais je suis tombé en panne pour demander de l'aide. J'essaye d'obtenir la sortie de JSON using la fiole et le pymongo.L'objet de type 'ObjectID' n'est pas sérialisable JSON

ici est l'objet dans la console à l'aide d'impression (résultats):

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

lorsque je tente de revenir sur ce que je reçois l'erreur: TypeError: objet de type « ObjectId » est pas JSON sérialisable

les contacts classe (ressources):

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} 

J'ai essayé les suggestions de bson.json_util. Il a effacé l'erreur sérialisable en double codant mon objet json. On dirait que ce n'est pas une bonne solution pour ce que je fais.

+0

double possible de [TypeError: ObjectId ('') n'est pas JSON sérialisable] (https://stackoverflow.com/questions/16586180/typeerror-objectid-is-not -json-serializable) –

+0

J'ai essayé ceci, il n'a pas produit le résultat désiré - je ne me souviens pas exactement de ce que cette solution a fait mais j'ai toujours le code dans mon espace de travail et marqué comme n'étant pas une solution. –

Répondre