Java 这种序列化格式叫什么?
我很难找到此格式的名称,因此无法确定如何将其转换为POJOJava 这种序列化格式叫什么?,java,json,serialization,jms,amazon-sqs,Java,Json,Serialization,Jms,Amazon Sqs,我很难找到此格式的名称,因此无法确定如何将其转换为POJO { ExampleKey1: ExampleValue1, ExampleKey2: ExampleValue2, ExampleObjectKey: { "ObjectKey" : "ObjectValue" } } 这显然不是JSON或ION。有什么建议吗 一点背景: 我正在尝试使用JMS异步读取SQS消息(通过SNS发布),如下:-转到“异步接收消息”部分 我收到的信息如下: {M
{
ExampleKey1: ExampleValue1,
ExampleKey2: ExampleValue2,
ExampleObjectKey: {
"ObjectKey" : "ObjectValue"
}
}
这显然不是JSON或ION。有什么建议吗
一点背景:
我正在尝试使用JMS异步读取SQS消息(通过SNS发布),如下:-转到“异步接收消息”部分
我收到的信息如下:
{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: {}}
我通过在Message上执行以下操作发现了这一点:
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();
}
}
我已经用上面的虚拟值替换了实际值。如果我能将上面的内容解析成一个POJO,我将能够提取“Body”,从而提取出我感兴趣的部分“Message”
注意,文本基本上是POJO,为什么不是JSON?因为键没有被引用?看起来像@shmosel,它不是有效的JSON,因为键没有被引用。我不确定OP对ExampleValue2的意图。也许他们会详细说明。@bhspencer钥匙不在引号中这一事实并不是什么大问题。JS允许它,而像Jackson这样的库可以选择不带引号地反序列化键。但我忽略了未引用的值。这可能是一个更大的问题。@bhspencer您所说的与ExampleValue2一起使用的OP是什么意思?未引用的值是一个大问题。