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; } } }