1. def merge_api_payloads(list_of_payloads):
  2. """Merges a list of API payloads into a single dictionary.
  3. Handles potential key conflicts by appending a numerical suffix.
  4. """
  5. merged_data = {}
  6. for payload in list_of_payloads:
  7. for key, value in payload.items():
  8. if key in merged_data:
  9. # Handle key conflict by appending a suffix
  10. new_key = f"{key}_{merged_data.get(key, 0) + 1}"
  11. merged_data[new_key] = value
  12. else:
  13. merged_data[key] = value
  14. return merged_data
  15. if __name__ == '__main__':
  16. # Example Usage
  17. payload1 = {"id": 1, "name": "Alice", "email": "alice@example.com"}
  18. payload2 = {"id": 2, "name": "Bob", "city": "New York"}
  19. payload3 = {"id": 1, "phone": "123-456-7890", "email": "alice@example.com"} #Conflict on id and email
  20. payloads = [payload1, payload2, payload3]
  21. merged_payload = merge_api_payloads(payloads)
  22. print(merged_payload)

Add your comment