AWS Lambda json 反序列化 with jackson annotations
2022-09-02 01:07:50
我用 json body 调用 aws lambda。因此,json的字段与POJO中的字段具有不同的名称。所以我所做的是在字段上添加@JsonProperty,告诉杰克逊json中的名字是什么。但是由于某种原因,它似乎无法识别它们,并且所有字段都为空。如果我传递一个与POJO具有相同字段名称的json,它就可以工作了。这是我的课程:
public class Event implements Identifiable {
@JsonProperty("distinct_id")
private String distinctId;
@JsonProperty("user_id")
private Integer userId;
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime eventDateTime;
//Here are the getters and setters
}
如果我通过
{"distinct_id":"123", "user_id":123, "dt":"2017-01-04T08:45:04+00:00"}
所有字段都是空的,并且使用dileId,userId,eventDateTime,它正在序列化,除了它也不能识别我的自定义序列化程序/反序列化程序,但这实际上是同样的问题。
我的结论是,由于某种原因,aws jackson没有使用注释,但它没有意义。