我有一个Notification类:
package com.code2hack.notification;
public class Notification {
private Object message;
private NotificationType type;
public static Notification create(NotificationType type,Object message){
return new Notification(message,type);
}
public Notification(){
}
public Notification(Object message,NotificationType type){
this.message = message;
this.type = type;
}
@Override
public String toString() {
return "Notification{" +
"message=" + message +
", type=" + type +
'}';
}
public <T> T getMessage(Class<T> type){
return (T)this.message;
}
public NotificationType getType(){
return this.type;
}
public void setType(NotificationType type){
this.type = type;
}
public void setMessage(Object message){
this.message = message;
}
}
从春季开始使用ObjectMapper
时,它不会将消息字段转换为Json。
public static void main(String ...str){
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(Notification.create(NotificationType.NEW_SCHEDULE,"NEW Schedule"));
System.out.println(json);
}
这不会将Notification中的消息属性转换为json。
我能做些什么吗?
答案 0 :(得分:1)
因为您没有在班级中使用getters
,所以除非您向他指定jackson
是json的一部分,否则message
不会打印它。
@JsonProperty
private Object message;
那应该做的