import json
from datetime import datetime
def serialize_api_response(response_data):
"""
Serializes API response data for maintenance tasks.
Handles basic data types and timestamps.
"""
serialized_data = {}
# Basic data types
for key, value in response_data.items():
if isinstance(value, (int, float, str, bool, type(None))):
serialized_data[key] = value
elif isinstance(value, list):
serialized_data[key] = value # Keep lists as is
elif isinstance(value, dict):
serialized_data[key] = serialize_api_response(value) # Recursive call for nested dicts
else:
serialized_data[key] = str(value) # Convert unknown types to string
# Add timestamp
serialized_data['timestamp'] = datetime.utcnow().isoformat()
return serialized_data
if __name__ == '__main__':
# Example usage
sample_response = {
"status": "success",
"data": {
"user_id": 123,
"username": "john.doe",
"last_login": "2023-10-27T10:00:00Z",
"settings": {
"theme": "dark",
"notifications": True
}
},
"errors": []
}
serialized_response = serialize_api_response(sample_response)
print(json.dumps(serialized_response, indent=4))
Add your comment