spring-boot - POJO类中可能使用注释的条件运算符?
问题描述
POJO类:
@Component
public class Device {
@JsonAlias("is5G")
private String deviceType;
}
如果设备类型为“4G”,则“is5G”应映射为“N”,否则为“Y”。可以使用注释在 POJO 类中实现这一点吗?
解决方案
您可以使用自定义转换器来做到这一点
@JsonSerialize(converter = SerializeConverter.class)
@JsonDeserialize(converter = DeserializeConverter.class)
@JsonAlias("is5G")
private String deviceType;
连载
public class SerializeConverter extends StdConverter<String, String> {
@Override
public String convert(String value) {
return value != null && value.equals("is5G") ? "Y" : "N";
}
}
反序列化
public class DeserializeConverter extends StdConverter<String, String> {
@Override
public String convert(String value) {
return value.equals("Y") ? "is5G" : null // or another value;
}
}
推荐阅读
- c# - '' 是命名空间,但用作类型
- php - 无法从高级自定义字段输出 ('text_field,)
- c# - Xamarin Forms - 如何在列表视图(itemtapped)中获取标签的值/文本?
- firefox - 应用程序在 Firefox 52 中运行,但在 Firefox 61 中它被冻结显示错误
- java - 结合 MDB、JPA 和 JTA
- laravel - 在我的路线中使用重定向后,不再加载字体 awsome 和 ionicons
- php - 显示警告的插件页面:call_user_func_array() 需要参数 1
- python-2.7 - 使用索引设置 Pandas DataFrame 中不同列的值
- c# - 使用 EPPLUS c# 将所有列放在一页上
- css - 在模块化css中设置具有状态值的ClassName react