【发布时间】:2021-07-28 00:49:51
【问题描述】:
我在尝试将包含带有 under_score 的属性的 JSON 响应转换为带有 lowerCamelCase 属性的 DTO 时遇到了一些困难。
以 JSON 为例:
{
"promoted_by": "",
"parent": "",
"caused_by": "jenkins",
"watch_list": "prod",
"u_automation": "deep",
"upon_reject": "cancel"
}
以 DTO 为例:
@Data
public class TicketDTO {
private String promotedBy;
private String parent;
private String causedBy;
private String watchList;
private String uAutomation;
private String uponReject;
}
映射器:
@Mapper(componentModel = "spring")
public interface ITicketMapper {
default TicketDTO toDTO(JsonObject ticket) {
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
return gson.fromJson(incident, TicketDTO.class);
}
}
这个例子当然行不通,我想知道是否可以用 Gson 进行这种转换。
感谢您的帮助。
【问题讨论】:
标签: json spring spring-boot gson dto