ich JSON von SNS Thema erhalte, die ich ist glaube nicht korrektWie richtig analysieren SES JSON SNS Benachrichtigung in Java prallte
{
"Type":"Notification",
"MessageId":"message-id-is-this",
"TopicArn":"bouncer.topic.name.here",
"Message":"{\"notificationType\":\"Bounce\",\"bounce\":{\"bounceType\":\"Permanent\",\"bounceSubType\":\"General\",\"bouncedRecipients\":[{\"emailAddress\":\"[email protected]\",\"action\":\"failed\",\"status\":\"5.1.1\",\"diagnosticCode\":\"smtp; 550 5.1.1 user unknown\"}],\"timestamp\":\"2017-04-24T12:58:05.716Z\",\"feedbackId\":\"feedback.id.is.here\",\"remoteMtaIp\":\"192.168.10.1\",\"reportingMTA\":\"dsn; smtp.link.here\"},\"mail\":{\"timestamp\":\"2017-04-24T12:58:05.000Z\",\"source\":\"[email protected]\",\"sourceArn\":\"arn:aws:ses:us-east-1:someid:identity/[email protected]\",\"sourceIp\":\"127.0.0.1\",\"sendingAccountId\":\"sending.account.id.is.this\",\"messageId\":\"message-id-is-this\",\"destination\":[\"[email protected]\"]}}",
"Timestamp":"2017-04-24T12:58:05.757Z",
"SignatureVersion":"1",
"Signature":"signature.link",
"SigningCertURL":"certificate.link.here",
"UnsubscribeURL":"un.subscribe.link"
}
Das Problem ist mit „Message“ Attribut, das stattdessen ein Objekt zu halten, ist bespannen eines Objekts mit Bezug
enthält
"Message":"{\"key\":\"value\"}"
statt
"Message":{"key":"value"}"
daher nicht
vorübergehend auf Message-Klasse gemappt ich dieses Problem gelöst, indem in String-Empfang Variable und dann konvertieren
private String Message;
private Message objMessage;
und dann
Notification noti = toObject(jsonString, Notification.class);
Message msg = toObject(noti.getMessage(), Message.class);
noti.setObjMessage(msg);
für die Transformation , Verwende ich ObjectMapper.readValue (...)
Was ist der richtige Weg, um dieses Problem zu lösen?