code: def decode_struct_fields(self, ins, fields, obj):
          
          for name, field_data_type in fields:
              if name in obj:
                  try:
                      v = self.json_compat_obj_decode_helper(field_data_type, obj[name])
                      setattr(ins, name, v)
                  except bv.ValidationError as e:
                      e.add_parent(name)
                      raise
              elif field_data_type.has_default():
                  setattr(ins, name, field_data_type.get_default())
docs: Args:
              ins: An instance of the class representing the data type being decoded.
                  The object will have its fields set.
              fields: A tuple of (field_name: str, field_validator: Validator)
              obj (dict): JSON-compatible dict that is being decoded.
              strict (bool): See :func:`json_compat_obj_decode`.
          Returns:
              None: `ins` has its fields set based on the contents of `obj`.