def __call__(self, js_object):
    try:
      jsonclass = js_object["_class_"]
    except KeyError:
      # default returns dict with keys converted to strings.
      return dict((str(k), v) for k, v in js_object.items())
    else:
      try:
        decoder = self._registry[jsonclass]
      except __HOLE__:
        raise ValueError("JSON decoder for %r not registered." % (jsonclass,))
      else:
        return decoder(js_object["value"])
dataset/ETHPy150Open kdart/pycopia/WWW/pycopia/WWW/json.py/JSONObjectDecoder.__call__