# How to covert boolean to integer

**URL:** <https://discuss.elastic.co/t/how-to-covert-boolean-to-integer/60483>\
**Category:** Logstash\
**Created:** [September 14, 2016, 10:12am UTC](https://discuss.elastic.co/t/how-to-covert-boolean-to-integer/60483 "2016-09-14T10:12:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chita\_Rain](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chita_rain/32/11893_2.png) [@Chita\_Rain](https://discuss.elastic.co/u/Chita_Rain)\
**Post date:** [September 14, 2016, 10:12am UTC](https://discuss.elastic.co/t/how-to-covert-boolean-to-integer/60483/1 "2016-09-14T10:12:35Z")

</div>

try to use

```auto
       mutate {
               conver => ["type", 'integer']
            }

```

but I got error

```auto
NoMethodError: undefined method `to_i' for false:FalseClass
  convert_integer at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-2.0.6/lib/logstash/filters/mutate.rb:296
             call at org/jruby/RubyMethod.java:120
          convert at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-2.0.6/lib/logstash/filters/mutate.rb:279
             each at org/jruby/RubyHash.java:1342
          convert at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-2.0.6/lib/logstash/filters/mutate.rb:265
           filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-2.0.6/lib/logstash/filters/mutate.rb:220
     multi_filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/filters/base.rb:151
             each at org/jruby/RubyArray.java:1613
     multi_filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/filters/base.rb:148
      filter_func at (eval):96
     filter_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:267
             each at org/jruby/RubyArray.java:1613
           inject at org/jruby/RubyEnumerable.java:852
     filter_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:265
      worker_loop at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:223
    start_workers at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:201

```

---

<div class="post-metadata">

**Author:** ![Chita\_Rain](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chita_rain/32/11893_2.png) [@Chita\_Rain](https://discuss.elastic.co/u/Chita_Rain)\
**Post date:** [September 14, 2016, 10:39am UTC](https://discuss.elastic.co/t/how-to-covert-boolean-to-integer/60483/2 "2016-09-14T10:39:25Z")

</div>

So I have to convert it To string first ,then to interge

```auto
        mutate {
            convert => {"[json][type]"=> "string"}
        }
        if [json][type] == 'true'{
            mutate {
                replace => {"[json][type]"=> 1}
            }
        } else if [json][type]=='false' {
            mutate {
                replace => {"[json][type]"=> 0}
            }
        }
        mutate {
            convert => {"[json][type]"=> "integer"}
        }

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 4:38am UTC](https://discuss.elastic.co/t/how-to-covert-boolean-to-integer/60483/3 "2017-07-06T04:38:35Z")

</div>


