def from_json(self, js, groups: Iterable[Group]):
        """ this function will load the functional channel object 
        from a json object and the given groups 
        
        Args:
            js(dict): the json object
            groups(Iterable[Group]): the groups for referencing
        """
        self.index = js["index"]
        self.groupIndex = js["groupIndex"]
        self.label = js["label"]
        self.functionalChannelType = FunctionalChannelType.from_str(
            js["functionalChannelType"], js["functionalChannelType"]
        )
        self.groups = []
        for id in js["groups"]:
            for g in groups:
                if g.id == id:
                    self.groups.append(g)
                    break
def from_json ( self , js , groups : Iterable [ Group ] ) : self . index = js [ "index" ] self . groupIndex = js [ "groupIndex" ] self . label = js [ "label" ] self . functionalChannelType = FunctionalChannelType . from_str ( js [ "functionalChannelType" ] , js [ "functionalChannelType" ] ) self . groups = [ ] for id in js [ "groups" ] : for g in groups : if g . id == id : self . groups . append ( g ) break
this function will load the functional channel object 
        from a json object and the given groups 
        
        Args:
            js(dict): the json object
            groups(Iterable[Group]): the groups for referencing