in cost-optimization/hpa-config-recommender/src/hpaconfigrecommender/utils/models.py [0:0]
def make_json_serializable(data):
"""
Recursively convert non-serializable objects to JSON-compatible format.
"""
if isinstance(data, (datetime, pd.Timestamp)):
return data.isoformat()
if isinstance(data, list):
return [make_json_serializable(item) for item in data]
if isinstance(data, dict):
return {
key: make_json_serializable(value) for key, value in data.items()}
if isinstance(data, (float, int)):
return float(data) # Ensure all numeric types are JSON-compatible
if pd.isna(data): # Handle NaN or None values
return None
return str(data) # Default case: convert to string