Как называется этот формат сериализации? - PullRequest
0 голосов
/ 23 мая 2018

У меня возникают проблемы с поиском имени этого формата и, следовательно, выяснения, как преобразовать его в POJO

{
    ExampleKey1: ExampleValue1,
    ExampleKey2: ExampleValue2,
    ExampleObjectKey: {
        "ObjectKey" : "ObjectValue"
    }
}

Это явно не JSON или ION.Любые предложения?

Немного предыстории:

Я пытаюсь читать сообщения SQS (опубликованные через SNS) асинхронно, используя JMS, например: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/getting-started.html - перейти в раздел«Получение сообщений асинхронно»

Полученное сообщение выглядит примерно так:

{MessageId: 123-123-123,ReceiptHandle: BigTextWithCharactersLike+and/andNumbers123,MD5OfBody: AlphaNumberic123,Body: {
  "Type" : "Notification",
  "MessageId" : "uuid-uuid-uuid-uuid",
  "TopicArn" : "arn:aws:sns:us-west-2:someARN",
  "Message" : "{\"this\":\"is\",\"the\":\"part\",\"i\":\"am\",\"interested\":\"in\"}",
  "Timestamp" : "timestamp",
  "SignatureVersion" : "1",
  "Signature" : "alphanumeric+charatersLike+and/and==",
  "SigningCertURL" : "https://an-sns-url",
  "UnsubscribeURL" : "https://an-sns-url"
},Attributes: {},MessageAttributes: {}}

Это я нашел, выполнив следующее onMessage:

public void onMessage(Message message) {
    try {
        // Cast the received message as TextMessage and print the text to screen.
        System.out.println("Received: " + ((TextMessage) message).getText());
    } catch (JMSException e) {
        e.printStackTrace();
    }
}

I 'мы заменили фактические значения на фиктивные выше.Если я смогу разобрать вышеперечисленное в POJO, я смогу извлечь «Тело» и, следовательно, «Сообщение», то есть ту часть, которая мне интересна.

PS: обратите внимание, что текст в основномPOJO https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/sqs/model/Message.html

...