Class: Karafka::Serialization::Json::Deserializer

Inherits:
Object
  • Object
show all
Defined in:
lib/karafka/serialization/json/deserializer.rb

Overview

Default Karafka Json deserializer for loading JSON data

Instance Method Summary collapse

Instance Method Details

#call(params) ⇒ Hash

Returns hash with deserialized JSON data.

Examples:

params = {
  'payload' => "{\"a\":1}",
  'topic' => 'my-topic',
  'headers' => { 'message_type' => :test }
}
Deserializer.call(params) #=> { 'a' => 1 }

Parameters:

Returns:

  • (Hash)

    hash with deserialized JSON data



19
20
21
22
23
# 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