title: Jackson ObjectMapper DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT
body: <p>I am using Jackson for JSON serialization/deserialization in my Jersey application. I want to read the empty strings in JSON to null value in my java POJO property. I tried to set the DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT on Object Mapper but it is not working. Here is the code below</p>
  
  <pre><code>import java.io.IOException;
  import org.codehaus.jackson.JsonParseException;
  import org.codehaus.jackson.map.DeserializationConfig;
  import org.codehaus.jackson.map.JsonMappingException;
  import org.codehaus.jackson.map.ObjectMapper;
  
  public class TestMapper {
  
      /**
       * @param args
       */
      public static void main(String[] args) {
          TestMapper.testJson();
  
      }
  
      public static void testJson(){
          String jsonString = "{\"name\":\"First Name\",\"phone\":\"\",\"unknown\":\"test\"}";
          ObjectMapper result = new ObjectMapper();
          //result.setDeserializationConfig(result.getDeserializationConfig().with(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT));
          //result.enable(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
          /*DeserializationConfig deserializeConfig = result.getDeserializationConfig();
          deserializeConfig.with(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);*/
          result.configure(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
          result.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  
      try {
              TestBean testBean = result.readValue(jsonString, TestBean.class);
              if(testBean.getPhone()!=null&amp;&amp; testBean.getPhone().equals("")){
                  System.out.print("Phone Number is empty string");
              }else{
                  System.out.print("Phone Number is null");
              }
          } catch (JsonParseException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (JsonMappingException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
      }
  
  }
  </code></pre>
  
  <p>The bean is as below</p>
  
  <pre><code>public class TestBean {
  
      private String name;
      private String phone;
      public String getName() {
          return name;
      }
      public void setName(String name) {
          this.name = name;
      }
      public String getPhone() {
          return phone;
      }
      public void setPhone(String phone) {
          this.phone = phone;
      }
      public TestBean(String name, String phone) {
          super();
          this.name = name;
          this.phone = phone;
      }
      public TestBean() {
          super();
      }
  
  
  }
  </code></pre>
  
  <p>The output is always </p>
  
  <pre><code>Phone Number is empty string
  </code></pre>
  
  <p>I am not sure why is this not working. I am using Jackson 1.9.2. </p>