1. import json
  2. import pprint
  3. def pretty_print_api_payload(payload):
  4. """
  5. Pretty-prints an API payload (assumed to be a JSON string or dictionary).
  6. """
  7. try:
  8. if isinstance(payload, str):
  9. data = json.loads(payload) # Parse JSON string to Python object
  10. else:
  11. data = payload # Assume it's already a dictionary/list
  12. pp = pprint.PrettyPrinter(indent=4) # Create a PrettyPrinter object
  13. pp.pprint(data) # Print the data with indentation
  14. except json.JSONDecodeError as e:
  15. print(f"Error decoding JSON: {e}")
  16. except Exception as e:
  17. print(f"An error occurred: {e}")
  18. if __name__ == '__main__':
  19. # Example usage:
  20. api_payload_json = '{"name": "John Doe", "age": 30, "city": "New York", "skills": ["Python", "API", "Data Analysis"]}'
  21. pretty_print_api_payload(api_payload_json)
  22. api_payload_dict = {"status": "success", "data": {"id": 123, "message": "Operation completed" }}
  23. pretty_print_api_payload(api_payload_dict)

Add your comment