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/
'java' 카테고리의 다른 글
java google protobuf ByteBuffer 사용 (0) | 2025.03.17 |
---|---|
java bucket index (0) | 2025.03.17 |
spring boot 가상 스레드로 웹소켓 사용 (0) | 2024.07.20 |
java time ticks (0) | 2024.07.05 |
java drawing random (1) | 2024.07.05 |