yes nested data is a problem, do you have a solution for this issue?

On Tue, 10 Dec 2013 12:28:24 -0800
  Jordan Sissel <notifications@github.com> wrote:
>> @@ -155,8 +158,11 @@ def receive(event)
>>          name = "_id" if name == "id"  # "_id" is reserved, so use 
>>"__id"
>>          if !value.nil? and !@ignore_metadata.include?(name)
>>            if value.is_a?(Array)
>> -            # collapse single-element arrays, otherwise leave as 
>>array
>> -            m["_#{name}"] = (value.length == 1) ? value.first : 
>>value
>> +            m["_#{name}"] = value.join(', ')
>> +          elsif value.is_a?(Hash)
>> +            value.each do |hash_name, hash_value|
>> +              m["_#{name}_#{hash_name}"] = hash_value
> 
> fwiw, this won't work if you have nested data like `{ "foo": { 
>"bar": { "baz": 3 } }`
> 
> Maybe `hash_value.to_s` if it's not a number?
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/logstash/logstash/pull/797/files#r8246024