def to_json(self, **kwargs: Mapping) -> str:
        """Write this :class:`SampleSheet` to JSON.

        Returns:
            str: The JSON dump of all entries in this sample sheet.

        """
        content = {
            'Header': dict(self.Header),
            'Reads': self.Reads,
            'Settings': dict(self.Settings),
            'Data': [sample.to_json() for sample in self.samples],
            **{title: dict(getattr(self, title)) for title in self._sections},
        }
        return json.dumps(content, **kwargs)