I'm seemingly unable to deserialize my MongoDB JSON document with the BSON json_util.
The json.loads function is choking on the ObjectId()
string. I had understood json_util capable of handling MongoDB's ObjectId format and transforming into usable JSON.
Python code:
import json
from bson import json_util
s = "{u'_id': ObjectId('4ed559abf047050c58000000')}"
u = json.loads(s, object_hook=json_util.object_hook)
I get the decoder exception:
...
u = json.loads(s, object_hook=json_util.object_hook)
File "python27libjson\__init__.py", line 339, in loads
return cls(encoding=encoding, **kw).decode(s)
File "python27libjsondecoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "python27libjsondecoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)
Am I missing something?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…