def _parse_json_with_fieldnames(self):
        """ Parse the raw JSON with all attributes/methods defined in the class, except for the
            ones defined starting with '_' or flagged in cls._TO_EXCLUDE.

            The final result is stored in self.json
        """
        for key in dir(self):
            if not key.startswith('_') and key not in self._TO_EXCLUDE:
                self.fieldnames.append(key)
                value = getattr(self, key)
                if value:
                    self.json[key] = value
        # Add OK attribute even if value is "False"
        self.json['ok'] = self.ok