我对Python和MongoDB非常陌生。我试图先将所有文档从mongoDB中提取到字典中,然后逐个迭代到某个业务逻辑中。
dest_docs = [doc for doc in dest_collection.find({key: {'$in':_ids}})]
dest_docs_dict = {doc[key]: doc for doc in dest_docs}
......
for key in _ids:
source_doc = source_docs_dict.get(key, None)
dest_doc = dest_docs_dict.get(key, None)
我需要用干净的JSON格式表示文档,但我看到python表示的日期值类似于"datetime.datetime(2020,8,31,4,0)“。
我的业务逻辑组件需要干净的JSON格式作为输入,我尝试使用JSON.DUMPS()方法,但是无法解析这种类型的对象。
是否有任何工作可以将这些date time对象转换为字符串表示以使JSON工作?请分享你的想法.我非常感谢你的帮助。谢谢!
SAMPLE JSON-DICT{
'prod_doc_key': 'StaplesCACAS/en-CA/1-CA/CL169792/12870',
'metadata': {
'store_id': 6051,
'partnumber': '12870'
},
'promotions': [{
'promomessage': {
'enddate': datetime.datetime(2020, 8, 31, 4, 0),
'name': 'Buy More, Save More',
'type_name': 'promo offer expires',
'startdate': datetime.datetime(2012, 8, 1, 4, 0),
'typeid': 35,
'text': 'Offer Expires on 08/31/2020'
}
}]
}
发布于 2015-09-01 00:45:27
JSON没有特定的日期格式,标准python的json编码器库也不强制转换非标准数据。
无论如何,您可以使用转储方法的默认设置参数来给出它转换非标准字段的方法:最简单的方法是:
import datetime, json
X = {'data': datetime.datetime.now(), 'number':10}
try:
print json.dumps(X)
except TypeError:
print "Sorry, it doesn't works"
print json.dumps(X, default=lambda y:str(y))
当然,研究这种类型会更好,并且使用datetime.strftime可以帮助获得首选的日期格式。
https://stackoverflow.com/questions/32320358
复制