Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Most JSON data that utilizes precise decimal data represents it as a decimal number. Connect, on the other hand, only supports a binary BASE64 string encoding (see example below). This KIP intends to support both representations so that it can better integrate with legacy systems (and make the internal topic data easier to read/debug):

  • serialize the decimal field "foo" with value "10.2345" with the BASE64 setting: {"foo": "D3J5"}
  • serialize the decimal field "foo" with value "10.2345" with the NUMERIC setting: {"foo": 10.2345}

Public Interfaces

A new configuration for producers json.decimal.serialization.fromatformat will be introduced to the JsonConverter configuration to help control whether to produce in numeric or binary formats. The valid values will be "HEXBASE64" (default, to maintain compatibility) and "NUMERIC".

...