title: Jackson ObjectMapper returns null when Object variable is set to Private
body: <p>I am given this escaped JSON </p>
  
  <pre><code>"{\"UniqueId\":[],\"CustomerOffers\":{},\"Success\":false,\"ErrorMessages\":[\"Test Message\"],\"ErrorType\":\"GeneralError\"}"
  </code></pre>
  
  <p>and I need to convert it to Java object using Jackson. </p>
  
  <pre><code>// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
      compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.8'
  </code></pre>
  
  <p>I created the class:</p>
  
  <pre><code>public class Data {
  
      private List&lt;UUID&gt; UniqueId;
      private Map&lt;Integer, List&lt;Integer&gt;&gt; CustomerOffers;
      private Boolean Success;
      private List&lt;String&gt; ErrorMessages;
      private String ErrorType;
  
      // getter, setters
  }
  </code></pre>
  
  <p>Then I created the method to convert it</p>
  
  <pre><code>public class Deserializing {
  
      public void processing(String input) {
  
          ObjectMapper mapper = new ObjectMapper();
          mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
          mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
  
  
  
          String jsonInString = "\"{\"UniqueId\":[],\"CustomerOffers\":{},\"Success\":false,\"ErrorMessages\":[\"Test Message\"],\"ErrorType\":\"GeneralError\"}\"";
          String newJSON = org.apache.commons.lang3.StringEscapeUtils.unescapeJava(jsonInString);
          newJSON= newJSON.substring(1, jsonInString.length()-1);
  
  
              try {
              // JSON string to Java object
              Data data = mapper.readValue(newJSON, Data.class); 
              System.out.println(data);
  
              System.out.println("Get Success "+ data.getSuccess());  // return "false" if Data object is public ; null if private
              System.out.println("Get UniqueID " + data.getUniqueId()); // return [] if Data object is public ; null if private
  
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  }
  </code></pre>
  
  <p>Whichever variables in Data class that are set to public, then I will get <code>the corresponding value</code> when I call getters. 
  Whichever variables in Data class that are set to private, then I will get <code>null</code> when I call getters.</p>
  
  <p>Getters and Setters are always public. </p>
  
  <p>I am wondering, why ObjectMapper can't map the object if it is set to private? I could set it to public, but that is not best practice.   </p>