title: JSON to Java Object parsing
body: <p>I am receiving below mentioned JSON string from AWS SQS as response. When I am trying to parse this and serialize / de-serialize into a Java object using Jackson <code>readValue()</code>, I'm getting the object as <code>null</code>:</p>
  
  <pre><code>RootObject [type=null, messageId=null, topicArn=null, message=null, timestamp=null, signatureVersion=null, signature=null, signingCertURL=null, unsubscribeURL=null]
  </code></pre>
  
  <p>The code I'm using is this:</p>
  
  <pre><code>ObjectMapper objectMapper = new ObjectMapper();
  RootObject rootObj = objectMapper.readValue(jsonString, RootObject.class);
  </code></pre>
  
  <p>JSON String:</p>
  
  <pre><code>{
    "Type" : "Notification",
    "MessageId" : "5d8da694-f227-55d7-9c99-f76b4344e0cf",
    "TopicArn" : "arn:aws:sns:us-east-1:301793434032:MyTestTopic",
    "Message" : "{\"notificationType\":\"Delivery\",\"mail\":{\"timestamp\":\"2017-08-05T06:06:53.319Z\",\"source\":\"sunnydiatm@gmail.com\",\"sourceArn\":\"arn:aws:ses:us-east-1:501790854032:identity/sunnydiatm@gmail.com\",\"sourceIp\":\"103.68.178.205\",\"sendingAccountId\":\"400920854032\",\"messageId\":\"0100015db345e987-e0bad5bc-0494-4f7d-bd07-7915281d67b2-000000\",\"destination\":[\"sunnydir@gmail.com\"]},\"delivery\":{\"timestamp\":\"2017-08-05T06:06:59.411Z\",\"processingTimeMillis\":6092,\"recipients\":[\"sunnydier@gmail.com\"],\"smtpResponse\":\"250 2.0.0 OK 1501913219 i194si2321639qki.188 - gsmtp\",\"remoteMtaIp\":\"2.85.232.26\",\"reportingMTA\":\"a8-96.smtp-out.amazonses.com\"}}",
    "Timestamp" : "2017-08-05T06:06:59.465Z",
    "SignatureVersion" : "1",
    "Signature" : "XBQ/sIr23r23tEOzSkNX+0h9lD/kCXl8Hfu+rIlhIS3DIuc4545tkzA+YPYwruJtRR+tLvIZkfyTmL5f4W6eghaXOb8XsugeNFkHkpF52zEuttOi3YUTv8RJmXHnWYhOSK7s9RUNpsrY8toQJyY+r1aNZPnVg8MwJBmJzb5RMssdwHYhSvDCmqH2gKsouufAVFnnSz0md1dKgaEg8kv1h8Fs3Qs7hnbsgaeWStQV0XB8unrJ0mAlIaAqaULuwlSgP8c8PpogLF6lZrDm5LcmDvVJrmwxGpS8uQ3l0pDOeYd/tyRTfsRpc3bZuImH2/9uxX1KmT+wP+X/9NdOz34TQyA==",
    "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-b95095beb82e8fasdf46b3aafc7f4149a.pem",
    "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&amp;SubscriptionArn=arn:aws:sns:us-east-1:401792344032:MyTestTopic:c10afa38-f9f8-4a03-86b3-2e83565b5f12"
  }
  </code></pre>
  
  <p>My Parent class is below:</p>
  
  <pre><code>import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  
  @JsonIgnoreProperties(ignoreUnknown = true)
  public class RootObject
  {
    private String type;
    private String messageId;
    private String topicArn;
    private Message message;
    private Date timestamp;
    private String signatureVersion;
    private String signature;
    private String signingCertURL;
    private String unsubscribeURL;
  
    //getter &amp; setters
  
  }
  </code></pre>
  
  <p>My Message class contains the following variable:</p>
  
  <pre><code>public class Message
  {
    private Mail mail;  
    private Bounce bounce;
    private String notificationType;
  
    //getter &amp; setters
  
  }
  </code></pre>
  
  <p>Associated classes are also generated and kept in the classpath.</p>
  
  <p>I need to convert the JSON string into a Java object so that I can perform operations on that.</p>