def json_default(obj: Any) -> str:
    """
    Produce a representation of an object which does not have a json serializer.
    """

    # Try the encoders included with pydantic first (should handle things like
    # Datetime, and our additional encoders above):
    try:
        return pydantic_encoder(obj)

    except Exception:
        # Otherwise give up and indicate a non-serialization.
        return pyschema_utils.noserio(obj)

    Produce a representation of an object which does not have a json serializer.
    
src/core/trulens/core/utils/json.py