Java 如何将ClientResponse实体正确反序列化到POJO列表
我正在尝试将响应实体反序列化到POJO列表中。当我直接这样做时,使用如下的GenericType:Java 如何将ClientResponse实体正确反序列化到POJO列表,java,json,jersey,jackson,Java,Json,Jersey,Jackson,我正在尝试将响应实体反序列化到POJO列表中。当我直接这样做时,使用如下的GenericType: private List<UserRole> extractMembersDirectly(final ClientResponse response) { return response.getEntity(new GenericType<List<UserRole>>() {}); } POJO只是: @JsonIgnoreProperties(i
private List<UserRole> extractMembersDirectly(final ClientResponse response) {
return response.getEntity(new GenericType<List<UserRole>>() {});
}
POJO只是:
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSnakeCase
public class UserRole {
private UUID id;
public UserRole(@JsonProperty("id") final UUID id) {
this.id = id;
}
public UUID getId() {
return id;
}
有没有一种方法可以直接从实体反序列化而不首先反序列化为字符串?您可以尝试在类本身上使用自定义序列化程序 编写序列化程序
public class UserRoleSerializer extends JsonSerializer<Item> {
@Override
public void serialize(UserRole userRole, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeStringField("id", userRole.id);
jgen.writeEndObject();
}
}
然后只是一个想法,不确定这是否是你想要的
public class UserRoleSerializer extends JsonSerializer<Item> {
@Override
public void serialize(UserRole userRole, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeStringField("id", userRole.id);
jgen.writeEndObject();
}
}
@JsonSerialize(using = UserRoleSerializer.class)
public class UserRole {
...
}