|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package cokr.xit.foundation.data;
|
|
|
|
|
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.io.OutputStream;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
|
import java.util.function.UnaryOperator;
|
|
|
|
@ -145,6 +146,39 @@ public class JSON extends AbstractComponent {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**주어진 객체를 OutputStream에 저장한다.
|
|
|
|
|
* @param out OutputStream
|
|
|
|
|
* @param obj 객체
|
|
|
|
|
* @param indent 띄어쓰기 여부
|
|
|
|
|
* <ul><li>띄어쓰기를 적용하려면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public void write(OutputStream out, Object obj, boolean indent) {
|
|
|
|
|
ObjectMapper mapper = getObjectMapper();
|
|
|
|
|
ObjectWriter writer = null;
|
|
|
|
|
if (!indent) {
|
|
|
|
|
writer = filterProvider == null ? mapper.writer() : mapper.writer(filterProvider);
|
|
|
|
|
} else {
|
|
|
|
|
writer = mapper.writerWithDefaultPrettyPrinter();
|
|
|
|
|
if (filterProvider != null)
|
|
|
|
|
writer = writer.with(filterProvider);
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
writer.writeValue(out, obj);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw runtimeException(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**주어진 객체를 OutputStream에 저장한다.
|
|
|
|
|
* @param out OutputStream
|
|
|
|
|
* @param obj 객체
|
|
|
|
|
*/
|
|
|
|
|
public void write(OutputStream out, Object obj) {
|
|
|
|
|
write(out, obj, false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**객체를 JSON 문자열로 변환할 때 적용할 필터 설정을 지원하는 클래스.<br />
|
|
|
|
|
* 이 때 객체의 클래스는 {@code @JsonFilter("필터 아이디")} 주석이 적용되어 있어야 한다.
|
|
|
|
|
* @author mjkhan
|
|
|
|
|