首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json在spring集成中不转换为对象

Json在spring集成中不转换为对象
EN

Stack Overflow用户
提问于 2017-05-31 19:23:01
回答 1查看 456关注 0票数 2

我要

代码语言:javascript
复制
.transform(Transformers.fromJson(SNSMessage.class))

不返回从我的JSON转换的值。JSON输入是

代码语言:javascript
复制
{
    "Type": "Notification",
    "MessageId": "b5c64f3f-59e3-5fce-9ad6-1e98973c9537",
    "TopicArn": "arn:aws:sns:us-east-1:194477963434:local-hera-update",
    "Subject": "com.accuity.hera.model.HeraNotification",
    "Message": "{\"id\":\"65e60559-cab5-4027-88a2-46185fbd50b9\",\"resourceType\":\"listItem\",\"action\":\"I\",\"timeOfAction\":\"2017-05-30T19:48:46Z\",\"source\":\"gwl\"}",
    "Timestamp": "2017-05-30T19:48:47.593Z",
    "SignatureVersion": "1",
    "Signature": "Xz0qg0byLMA1fwIRbi7aWcEzhtcLBOmzyUluL1W5URu4WaiEO3G\/+hPSpsFXGxcSYNYRgpKhL9QAP2qLkuMlSEMqiEOHaSr88UaB8QRV2lUEjdBAWpuFYVBPdb+jpo6n3m89vVHoYfFWk8yBkc0zuoRl4OYcUXfTZiWWQkkrT8r9OzWU8LxQwgf0jgr1xEoqbl7uMHIp7nHp3cKstQ0mbK6yxMQ8faxfDm+IwH3k8BBH2\/CXmRg9WME6JK77jvagMUHNhUahWKIjm4iz+TCQCdnmHQR21hmgxlkhdrSxZ1FBbk6BjxfX7gorEwwfY1gYNoZCXxsN63+4vSiFMlOAAQ==",
    "SigningCertURL": "https:\/\/sns.us-east-1.amazonaws.com\/SimpleNotificationService-b95095beb82e8f6a046b3aafc7f4149a.pem",
    "UnsubscribeURL": "https:\/\/sns.us-east-1.amazonaws.com\/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:194477963434:local-hera-update:7de3da56-9e6c-43ca-9abc-d46fff379380"
}

类的定义是:

代码语言:javascript
复制
public class SNSMessage {
    private String Type;
    private String MessageId;
    private String TopicArn;
    private String Subject;
    private String Message;
    private String Timestamp;
    private String SignatureVersion;
    private String Signature;
    private String SigningCertURL;
    private String UnsubscribeURL;
}

知道为什么SNSMessage将其所有字段设置为null回来吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 20:23:57

您面临的问题是您的json属性使用的大写化与pojo属性不同。

这意味着您将Type作为json属性,并为您的getter检测到type

您需要像这样使用@JsonProperty注释:

代码语言:javascript
复制
@JsonProperty("Type") 
private String type;
...
// getters / setters for type

顺便说一句,如果您不想遵循java命名标准,并且拥有Type和pojo属性,那么只需将@JsonProperty添加到没有args的属性中即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44293140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档