diff --git a/speckle/serialization/base_object_serializer.py b/speckle/serialization/base_object_serializer.py index 1f5e3da..7c7779e 100644 --- a/speckle/serialization/base_object_serializer.py +++ b/speckle/serialization/base_object_serializer.py @@ -232,11 +232,19 @@ class BaseObjectSerializer: return if isinstance(obj, str): obj = json.loads(obj) - if obj["speckle_type"] == "reference": + + # TODO: remove check for `speckleType` when server bug is fixed + if "speckle_type" in obj and obj["speckle_type"] == "reference": + obj = self.get_child(obj=obj) + if "speckleType" in obj and obj["speckleType"] == "reference": obj = self.get_child(obj=obj) # initialise the base object using `speckle_type` - base = getattr(objects, obj["speckle_type"], Base)() + base = getattr( + objects, + obj["speckle_type"] if "speckle_type" in obj else obj["speckleType"], + Base, + )() # get total children count if "__closure" in obj: