Skip to content

Commit 3e99474

Browse files
committed
add key param to pick which key to deserialize, fix #21
1 parent 65d6c4e commit 3e99474

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

lib/fluent/plugin/parser_json_in_json.rb

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class JSONInJSONParser < Parser
77

88
config_param :time_key, :string, :default => 'time'
99
config_param :time_format, :string, :default => nil
10+
config_param :key, :string, :default => nil
1011

1112
def configure(conf)
1213
super
@@ -41,11 +42,13 @@ def parse(text)
4142

4243
values = Hash.new
4344
record.each do |k, v|
44-
if v[0] == '{'
45-
deserialized = Yajl.load(v)
46-
if deserialized.is_a?(Hash)
47-
values.merge!(deserialized)
48-
record.delete k
45+
if @key && k == @key
46+
if v[0] == '{'
47+
deserialized = Yajl.load(v)
48+
if deserialized.is_a?(Hash)
49+
values.merge!(deserialized)
50+
record.delete k
51+
end
4952
end
5053
end
5154
end

0 commit comments

Comments
 (0)