我有一个返回给我的字符串,其格式为 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 相同!
如果您有更复杂的场景,可以使用注释、自定义反序列化器等。
关于c# - 将 JSON 字符串反序列化为自定义 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066417/