29 lines
933 B
Java
29 lines
933 B
Java
package kcc.com.pdf.service;
|
|
|
|
import com.fasterxml.jackson.core.JsonGenerator;
|
|
import com.fasterxml.jackson.databind.JsonSerializer;
|
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
|
|
import kcc.com.pdf.service.PdfVO.Options;
|
|
|
|
import java.io.IOException;
|
|
import java.util.List;
|
|
|
|
public class PdfJsonSerializerOptions extends JsonSerializer<List<Options>> {
|
|
|
|
@Override
|
|
public void serialize(List<Options> options, JsonGenerator gen, SerializerProvider serializers) throws IOException {
|
|
if (options == null || options.isEmpty()) {
|
|
gen.writeNull();
|
|
return;
|
|
}
|
|
|
|
if (options.size() == 1) {
|
|
// 옵션이 하나일 때 객체로 직렬화
|
|
serializers.defaultSerializeValue(options.get(0), gen);
|
|
} else {
|
|
// 옵션이 여러 개일 때 배열로 직렬화
|
|
serializers.defaultSerializeValue(options, gen);
|
|
}
|
|
}
|
|
} |