code: def __try_to_json(self, request, attr):
          
  
          # check for __json__ method and try to JSONify
          if hasattr(attr, '__json__'):
              return attr.__json__(request)
  
          # raise error otherwise
          raise TypeError('__json__ method missing on %s' % str(attr))
docs: Try to run __json__ on the given object.
          Raise TypeError is __json__ is missing
  
          :param request: Pyramid Request object
          :type request: <Request>
          :param obj: Object to JSONify
          :type obj: any object that has __json__ method
          :exception: TypeError