jackson的使用
@JsonIgnore:排除json序列化,将它标注在属性上不会进行json序列化
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh"):进行日期格式化
@JsonInclude(JsonInclude.Include.NON_NULL):当属性值为null时则不进行json序列化
@JsonProperty("uname"):属性设置别名
package boot.bean; import com.fasterxml.jackson.annotation.*; import java.util.Date; public class User { @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("uname") private String name; @JsonIgnore private int age; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date birthday; public User(String name, int age, Date birthday) { this.name = name; this.age = age; this.birthday = birthday; } 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 Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + ", birthday=" + birthday + '}'; } }
json定制序列号
package boot.config; import boot.bean.User; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.ObjectCodec; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.SerializerProvider; import org.springframework.boot.jackson.JsonComponent; import org.springframework.boot.jackson.JsonObjectDeserializer; import org.springframework.boot.jackson.JsonObjectSerializer; import java.io.IOException; @JsonComponent//使用该注解,User类上的json注解将无效 public class UserJsonCustom { public static class Serializer extends JsonObjectSerializer<User> { @Override protected void serializeObject(User user, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeObjectField("name",user.getName()); jgen.writeObjectField("age",50); } } public static class Deserializer extends JsonObjectDeserializer<User> { @Override protected User deserializeObject(JsonParser jsonParser, DeserializationContext context, ObjectCodec codec, JsonNode tree) throws IOException { User user = new User(); user.setName(tree.findValue("name").asText()); return user; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律