1
json.dumps(o)
轉換原來的Python對象JSON
o.to_json()
轉換一個mongoengine對象,如Document
到JSONJSON序列化Python和mongoengine對象混合
怎樣把混合的對象?
例如python dict
,以mongoengine對象作爲它的值?
這是否有工具?或者我應該創建一個自定義類JSONEncoder
?
如果我重寫編碼器,我可以創建也重建mongoengine對象解碼器?
這是行不通的,默認JSON編碼器不能處理蒙戈的數據類型正確的BSON是JSON的超類型。 MongoEngine只是使用pymongo(請參閱bson.json_utils)來編碼單個對象或查詢集,因此您應該將其用於文檔,例如:'return json_utils.dumps(o.to_mongo())' – Ross 2014-10-07 13:27:39
@Ross - 您的意思是代替特定行'return o._data'? – Jonathan 2014-10-07 16:49:09
@Ross - 假設上面的評論是肯定的,AFAIK如果default()返回一個'str'而不是'dict',那麼在解碼後面的整個對象將保持爲一個字符串,所以你的意思可能是'return o .to_mongo()' – Jonathan 2014-10-07 16:57:47