我有一个返回给我的字符串,该字符串格式为JSON。字符串如下

{ "Type" : "Notification". "MessageId" : "9343.....". "TopicArn" : "arn-....." "......" }


我创建了一个自定义对象,我想将此字符串解析为

public class AmazonSNSMessage
{
private String Type;
private String Notification;
private String MessageId;
private String TopicArn;
private String Subject;
private String Message;
private String Timestamp;
private String SignatureVersion;
private String Signature;
private String UnsubscribeURL

// And all the appropriate get/set methods
}


Java中是否有JSON反序列化器将采用字符串并创建AmazonSNSMessage的实例?

C#通过调用此行来做到这一点

AmazonSNSMessage b = JsonConvert.DeserializeObject<AmazonSNSMessage>(TheString);


理想情况下,我想要类似的东西。

最佳答案

Jackson可以做到:

final ObjectMapper mapper = new ObjectMapper();

final AmazonSNSMessage message
    = mapper.readValue(yourInput, AmazonSNSMessage.class);


由于您的字段名称与JSON相同,它将自动运行!

如果您有更复杂的场景,则可以使用注释,自定义解串器等。

09-10 05:52
查看更多