【基于fastjson】
如果你想让一个实体类里面的某些属性不参与转换成为json字符串,那么
使用@JSONField 就很舒服。
废话不多说,我们看代码!!!!
如:
User实体类,我在 age 属性上面使用了这个注解@JSONField
import com.alibaba.fastjson.annotation.JSONField; import java.io.Serializable; /** * @Author: JCccc * @CreateTime: 2018-09-11 * @Description: */ public class User implements Serializable { /** * */ private static final long serialVersionUID = 3221700752972709820L; private int id; private String name; @JSONField(serialize = false) private int age; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public User(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public User(){ } }
然后试一下将javabean转换成为对于的json字符串,
User user=new User(); user.setId(98); user.setName("mike"); user.setAge(11); String jsonStr= JSON.toJSONString(user); System.out.println(jsonStr);
运行结果如下,那个被注解支配的字段被屏蔽了哈哈哈: