Create a file called countObjects.rb that contains this
def register(params)
    @field = params['field']
    @target = params['target']
end
def countObjects(object)
    c = 0
    if object
        c = 1
        if object.kind_of?(Array)
            object.each { |x| c += countObjects(x) }
        elsif object.kind_of?(Hash)
            object.each { |k, v| c += countObjects(v) }
        end
    end
    c
end
def filter(event)
    event.set(@target, countObjects(event.get(@field)))
    [event]
end
You can call it using
    ruby {
        path => "/home/user/countObjects.rb"
        script_params => { "field" => "someField" "target" => "count" }
    }
which will count the number of object in someField and add a count field to the event that contains the number.