class Karafka::Serialization::Json::Deserializer

Default Karafka Json deserializer for loading JSON data

Public Instance Methods

call(params) click to toggle source

@param params [Karafka::Params::Params] Full params object that we want to deserialize @return [Hash] hash with deserialized JSON data @example

params = {
  'payload' => "{\"a\":1}",
  'topic' => 'my-topic',
  'headers' => { 'message_type' => :test }
}
Deserializer.call(params) #=> { 'a' => 1 }
# File lib/karafka/serialization/json/deserializer.rb, line 19
def call(params)
  params.raw_payload.nil? ? nil : ::JSON.parse(params.raw_payload)
rescue ::JSON::ParserError => e
  raise ::Karafka::Errors::DeserializationError, e
end