优雅!当遇到JSON对象数组的数据类型 该如何处理映射?如何优雅的将对象数组返回给前端?
这一篇文章讲述如何优雅的将对象数组返回给前端?
何为优雅?如下图
业务场景:
这里面的每个标签元素都会有不同的渲染效果 前端那边要摘取这些标签做渲染 所以使用字符串输出给他很麻烦 于是就有了把json字符串封装成对象的想法 而这样的做法能应用的场景太多了 所以为此专门写了一个一套方案做这样的事情
实体类
代码语言:text复制Java
@Data
@EqualsAndHashCode(callSuper = false)//不考虑父类字段
@Accessors(chain = true)//允许链式编程 setter和getter方法
@TableName(“tb_listeners”)
public class Listener implements Serializable {
private static final long serialVersionUID = 2L;
/**
* 主键
**/**
@TableId(value = “id”, type = IdType.AUTO)
private Integer id;
//专门设置一个用来存放featureTag数组的变量 并且不映射到数据库
@TableField(exist = false)
private JSONArray featureTagArray;
// 用户真实姓名,不能为空
private String realName;
private String featureTags;
// 用户昵称,可以为空
private String nickname;
//…
而后在需要获取到数据的地方都加入下方这段代码 用面向切面编程的思想
把下发代码封装起来 然后在需要用的时候 使用切入点进行下发代码
代码语言:text复制Java
if (listener==null){
return null;
}
if (listener.getFeatureTags()!=null){
listener.setFeatureTagArray(JSONUtil.parseArray(listener.getFeatureTags()));
}
return listener;
关于切面编程的文章在下方 (有兴趣的可以订阅我的专栏 探究Springboot底层原理进阶 从实战项目入手 剖析各代码原理及作用)
AOP
pc?from=from_copylink)