diff --git a/dags/shared_tasks/diffs.py b/dags/shared_tasks/diffs.py index 4fce5d22..37465ffa 100644 --- a/dags/shared_tasks/diffs.py +++ b/dags/shared_tasks/diffs.py @@ -698,10 +698,13 @@ def set_encoder(obj): if hasattr(obj, '__iter__') and type(obj).__name__ in ('SetOrdered'): # DeepDiff uses 'SetOrdered' return list(obj) + if isinstance(obj, dict): + return list(obj) raise TypeError(f"Object of type {type(obj).__name__} is not JSON serializable") - diff_summary_report.append(json.dumps(record_specific_diffs, indent=2, default=set_encoder)) - diff_details_report.append(json.dumps(record_specific_diffs, indent=2, default=set_encoder)) + record_specific_diffs = set_encoder(record_specific_diffs) + diff_summary_report.append(json.dumps(record_specific_diffs, indent=2)) + diff_details_report.append(json.dumps(record_specific_diffs, indent=2)) return diff_summary_report, diff_details_report