Невозможно десериализовать PyMongo ObjectId из JSON

По-видимому, я не могу десериализовать свой документ MongoDB JSON с помощью BSON json_util .

Функция json.loads задыхается от строки ObjectId () . Я понял, что json_util может обрабатывать формат ObjectId MongoDB и преобразовывать его в пригодный для использования JSON.

Код Python:

import json    
from bson import json_util

s = "{u'_id': ObjectId('4ed559abf047050c58000000')}"
u = json.loads(s, object_hook=json_util.object_hook)

Я получаю исключение декодера:

...
    u = json.loads(s, object_hook=json_util.object_hook)
  File "\python27\lib\json\__init__.py", line 339, in loads
    return cls(encoding=encoding, **kw).decode(s)
  File "\python27\lib\json\decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "\python27\lib\json\decoder.py", line 382, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)

Я что-то упускаю?

10
задан jdev 7 December 2011 в 22:27
поделиться