JSONArray过滤

更新时间:2023-07-14 19:40:17 阅读: 评论:0

JSONArray过滤
说明
将⼀个List ResponBody到前端页⾯报错一朵浪花
原因
TProjectXXX实体⾥⾯存在OneToMany的属性结婚四句
解决办法
使⽤SimplePropertyPreFilter过滤,只留下我需要的字段
/**
* 第⼀种:在对象响应字段前加注解,这样⽣成的json也不包含该字段。权衡是什么意思
*/
妈妈抱>鱼鱼雅雅@JSONField(rialize=fal)
private String name;
/**
* 第⼆种:在对象对应字段前⾯加transient,表⽰该字段不⽤序列化,即在⽣成json的时候就不会包含该字段了。
*/
private transient  String name;
/**
* 第三种:使⽤fastjson的拦截器
*/
PropertyFilter profilter =new PropertyFilter(){
@Override
public boolean apply(Object object, String name, Object value){
if(name.equalsIgnoreCa("last")){
//fal表⽰last字段将被排除在外
return fal;
}
return true;
}狩猎工具
};
json = JSONString(ur, profilter);
安徽的名茶
System.out.println(json);
/**
* 第四种,直接填写属性
*/
SimplePropertyPreFilter filter =new SimplePropertyPreFilter(TTown.class,"id","townname");
1. @Transient
@Transient表⽰该属性并⾮⼀个到数据库表的字段的映射,ORM框架将忽略该属性;
如果⼀个属性并⾮数据库表的字段映射,就务必将其标⽰为@Transient,否则ORM框架默认其注解为@Basic;//表⽰该字段在数据库表中没有
@Transient
public int getAge() {
五个月宝宝 return 1+1;
}
Jackson相关:
2. @JsonIgnoreProperties
此注解是类注解,作⽤是json序列化时将java bean中的⼀些属性忽略掉,序列化和反序列化都受影响。
3. @JsonIgnore
此注解⽤于属性或者⽅法上(最好是属性上),作⽤和上⾯的@JsonIgnoreProperties⼀样。
4. @JsonFormat
此注解⽤于属性或者⽅法上(最好是属性上),可以⽅便的把Date类型直接转化为我们想要的模式,⽐如@JsonFormat(pattern =“yyyy-MM-dd HH-mm-ss”)
5. @JsonSerialize
此注解⽤于属性或者getter⽅法上,⽤于在序列化时嵌⼊我们⾃定义的代码,⽐如序列化⼀个double时在其后⾯限制两位⼩数点。
6. @JsonDerialize
此注解⽤于属性或者tter⽅法上,⽤于在反序列化时可以嵌⼊我们⾃定义的代码,类似于上⾯的@JsonSerialize

本文发布于:2023-07-14 19:40:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1096637.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   注解   属性   序列化   数据库   转化   想要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图