diff --git a/aprsd/utils/json.py b/aprsd/utils/json.py index 20a621b..4f1e52d 100644 --- a/aprsd/utils/json.py +++ b/aprsd/utils/json.py @@ -2,6 +2,7 @@ import datetime import decimal import json import sys +from dataclasses import asdict, is_dataclass from aprsd.packets import core @@ -63,6 +64,8 @@ class SimpleJSONEncoder(json.JSONEncoder): return str(obj) elif isinstance(obj, core.Packet): return obj.to_dict() + elif is_dataclass(obj): + return asdict(obj) else: return super().default(obj)