java
java jsckson2 라이브러리 사용 null and default value ignore
kimbs0301
2024. 10. 8. 22:29
java jsckson2
null and default value ignore
json 데이터의 경우 널 및 기본값을 json에서 제외하면 데이터 사이즈를 줄일 수 있다.
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import static com.fasterxml.jackson.annotation.JsonInclude.Include;
public class JsonExample {
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
// JsonInclude.Value value = JsonInclude.Value.construct(Include.ALWAYS, Include.NON_NULL);
// objectMapper.setDefaultPropertyInclusion(value);
var saveData = new SaveData();
saveData.setTime(1231234567890L);
saveData.setMessage("ok");
try {
String json = objectMapper.writeValueAsString(saveData);
System.out.println(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
saveData = new SaveData();
// saveData.setTime(0);
// saveData.setMessage(null);
try {
String json = objectMapper.writeValueAsString(saveData);
System.out.println(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
class SaveData {
@JsonInclude(Include.NON_DEFAULT)
private long time;
@JsonInclude(Include.NON_NULL)
private String message;
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
실행결과>
{"time":1231234567890,"message":"ok"}
{}
references
https://www.baeldung.com/jackson-ignore-null-fields
https://examples.javacodegeeks.com/mapping-default-values-to-null-fields-in-jackson/