@classmethod
def json(cls, excluded, gui):
    """
        Generate a JSON-serializable parameter definitions for the given
        parameterized objects.
        """
    json_obj = {}
    for group, defs in cls.definitions.items():
        for nodetype, boxlist in defs.items():
            for boxtype in boxlist:
                inputs = cls.guis[gui].json_inputs(boxtype, excluded)
                outputs = cls.guis[gui].json_outputs(boxtype)
                buttons = cls.guis[gui].json_buttons(boxtype)
                json_obj[boxtype.name] = {'inputs': inputs, 'outputs':
                    outputs, 'buttons': buttons, 'nodetype': nodetype,
                    'group': group}
    return json_obj
