def has_field(self, dotted_name) -> bool:
        """Checks whether the layer has the given field name.

        Can get a dotted name, i.e. layer.sublayer.subsublayer.field
        """
        parts = dotted_name.split('.')
        cur_layer = self
        for part in parts:
            if part in cur_layer.field_names:
                cur_layer = cur_layer.get_field(part)
            else:
                return False
        return True
Checks whether the layer has the given field name.

        Can get a dotted name, i.e. layer.sublayer.subsublayer.field
        
src/pyshark/packet/layers/json_layer.py