package com.jsoniter.output;
import com.jsoniter.spi.EmptyEncoder;
import com.jsoniter.spi.JsoniterSpi;
import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Date;
public class TestCustomizeType extends TestCase {
private ByteArrayOutputStream baos;
private JsonStream stream;
public void setUp() {
baos = new ByteArrayOutputStream();
stream = new JsonStream(baos, 4096);
}
public static class MyDate {
Date date;
}
public void test() throws IOException {
JsoniterSpi.registerTypeEncoder(MyDate.class, new EmptyEncoder() {
@Override
public void encode(Object obj, JsonStream stream) throws IOException {
MyDate date = (MyDate) obj;
stream.writeVal(date.date.getTime());
}
});
MyDate myDate = new MyDate();
myDate.date = new Date(1481365190000L);
stream.writeVal(myDate);
stream.close();
assertEquals("1481365190000", baos.toString());
}
}