package org.json.simple.serialization; import junit.framework.TestCase; import java.util.ArrayList; import java.util.List; import java.util.Date; /** * @author karl.wettin@kodapan.se * @since 2009-jul-29 21:37:52 */ public class TestSerialization extends TestCase { public void test() throws Exception { CodecRegistry registry = new CodecRegistry(); Foo foo = new Foo(); for (int i = 0; i<10; i++) { foo.getBars().add(new BarImpl()); foo.getBarImpls().add(new BarImpl()); } String json = registry.getCodec(Foo.class).marshal(foo); System.out.println(json); Foo foo2 = registry.getCodec(Foo.class).unmarshal(json); System.currentTimeMillis(); } public static class Foo { private Date created = new Date(); private BarImpl barImpl = new BarImpl(); private Bar bar = new BarImpl(); private List<Bar> bars = new ArrayList<Bar>(); private List<BarImpl> barImpls = new ArrayList<BarImpl>(); private Number number = 123; public Number getNumber() { return number; } public void setNumber(Number number) { this.number = number; } public BarImpl getBarImpl() { return barImpl; } public void setBarImpl(BarImpl barImpl) { this.barImpl = barImpl; } public Bar getBar() { return bar; } public void setBar(Bar bar) { this.bar = bar; } public List<BarImpl> getBarImpls() { return barImpls; } public void setBarImpls(List<BarImpl> barImpls) { this.barImpls = barImpls; } public Date getCreated() { return created; } public void setCreated(Date created) { this.created = created; } public List<Bar> getBars() { return bars; } public void setBars(List<Bar> bars) { this.bars = bars; } } public static class BarImpl implements Bar { private int i; private double d; private float f; private Short s; private String text = "hello world\"!"; public int getI() { return i; } public void setI(int i) { this.i = i; } public double getD() { return d; } public void setD(double d) { this.d = d; } public float getF() { return f; } public void setF(float f) { this.f = f; } public Short getS() { return s; } public void setS(Short s) { this.s = s; } public String getText() { return text; } public void setText(String text) { this.text = text; } } }