roboto.domain.topics.json_decoder_factory#

Module Contents#

class roboto.domain.topics.json_decoder_factory.JsonDecoderFactory#

Bases: mcap.decoder.DecoderFactory

Factory for creating JSON message decoders for MCAP readers.

Provides functionality to decode JSON-encoded messages within MCAP files. This decoder factory is used by the MCAP reader to handle messages that were originally encoded in JSON format.

decoder_for(message_encoding, schema)#

Create a decoder function for JSON-encoded messages.

Returns a decoder function if the message encoding is JSON, otherwise returns None to indicate this factory cannot handle the encoding.

Parameters:
  • message_encoding (str) – The encoding format of the message.

  • schema (Optional[mcap.records.Schema]) – Optional schema information for the message.

Returns:

A decoder function for JSON messages, or None if the encoding is not JSON.

Return type:

Optional[Callable[[bytes], Any]]

Examples

>>> factory = JsonDecoderFactory()
>>> decoder = factory.decoder_for(MessageEncoding.JSON, None)
>>> if decoder:
...     decoded = decoder(b'{"x": 1.5, "y": 2.0}')
...     print(decoded)
{'x': 1.5, 'y': 2.0}