⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsontest.java

📁 jetty SERVER連接資料庫用的軟體
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        /* ------------------------------------------------------------ */        /**         * @return the woggles         */        public Woggle[] getWoggles()        {            return woggles;        }        /* ------------------------------------------------------------ */        /**         * @param woggles the woggles to set         */        public void setWoggles(Woggle[] woggles)        {            this.woggles=woggles;        }    }    /* ------------------------------------------------------------ */    public void testConvertor()    {        // test case#1 - force timezone to GMT        JSON json = new JSON();        json.addConvertor(Date.class, new JSONDateConvertor("MM/dd/yyyy HH:mm:ss zzz", TimeZone.getTimeZone("GMT"),false));        json.addConvertor(Object.class,new JSONObjectConvertor());        Woggle w0 = new Woggle();        Gizmo g0 = new Gizmo();                w0.name="woggle0";        w0.nested=g0;        w0.number=100;        g0.name="woggle1";        g0.nested=null;        g0.number=-101;        g0.tested=true;                HashMap map = new HashMap();        Date dummyDate = new Date(1);        map.put("date", dummyDate);        map.put("w0",w0);        StringBuffer buf = new StringBuffer();        json.append(buf,map);        String js=buf.toString();                System.err.println(js);        assertTrue(js.indexOf("\"date\":\"01/01/1970 00:00:00 GMT\"")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Woggle")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Gizmo")<0);        assertTrue(js.indexOf("\"tested\":true")>=0);        // test case#3        TimeZone tzone = TimeZone.getTimeZone("JST");        String tzone3Letter = tzone.getDisplayName(false, TimeZone.SHORT);        String format = "EEE MMMMM dd HH:mm:ss zzz yyyy";        Locale l = new Locale("ja", "JP");        if (l!=null)        {            json.addConvertor(Date.class, new JSONDateConvertor(format, tzone, false, l));            buf = new StringBuffer();            json.append(buf,map);            js=buf.toString();            assertTrue(js.indexOf("\"date\":\"\u6728 1\u6708 01 09:00:00 JST 1970\"")>=0);            assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Woggle")>=0);            assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Gizmo")<0);            assertTrue(js.indexOf("\"tested\":true")>=0);        }                // test case#4         json.addConvertor(Date.class,new JSONDateConvertor(true));        w0.nested=null;        buf = new StringBuffer();        json.append(buf,map);        js=buf.toString();        System.err.println(js);        assertTrue(js.indexOf("\"date\":\"Thu Jan 01 00:00:00 GMT 1970\"")<0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Woggle")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Gizmo")<0);                map=(HashMap)json.parse(new JSON.StringSource(js));                assertTrue(map.get("date") instanceof Date);        assertTrue(map.get("w0") instanceof Woggle);    }    /* java 1.5 only     enum Color { Red, Green, Blue };    public void testEnumConvertor()    {        JSON json = new JSON();        Locale l = new Locale("en", "US");        json.addConvertor(Date.class,new JSONDateConvertor(DateCache.DEFAULT_FORMAT,TimeZone.getTimeZone("GMT"),false,l));        json.addConvertor(Enum.class,new JSONEnumConvertor(false));        json.addConvertor(Object.class,new JSONObjectConvertor());        Woggle w0 = new Woggle();        Gizmo g0 = new Gizmo();                w0.name="woggle0";        w0.nested=g0;        w0.number=100;        w0.other=Color.Blue;        g0.name="woggle1";        g0.nested=null;        g0.number=-101;        g0.tested=true;        g0.other=Color.Green;                HashMap map = new HashMap();        map.put("date",new Date(1));        map.put("w0",w0);        map.put("g0",g0);        StringBuffer buf = new StringBuffer();        json.append(buf,map);        String js=buf.toString();                System.err.println(js);        assertTrue(js.indexOf("\"date\":\"Thu Jan 01 00:00:00 GMT 1970\"")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Woggle")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Gizmo")<0);        assertTrue(js.indexOf("\"tested\":true")>=0);        assertTrue(js.indexOf("\"Green\"")>=0);        assertTrue(js.indexOf("\"Blue\"")<0);        json.addConvertor(Date.class,new JSONDateConvertor(DateCache.DEFAULT_FORMAT,TimeZone.getTimeZone("GMT"),true,l));        json.addConvertor(Enum.class,new JSONEnumConvertor(false));        w0.nested=null;        buf = new StringBuffer();        json.append(buf,map);        js=buf.toString();        System.err.println(js);        assertTrue(js.indexOf("\"date\":\"Thu Jan 01 00:00:00 GMT 1970\"")<0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Woggle")>=0);        assertTrue(js.indexOf("org.mortbay.util.ajax.JSONTest$Gizmo")<0);                Map map2=(HashMap)json.parse(new JSON.StringSource(js));                assertTrue(map2.get("date") instanceof Date);        assertTrue(map2.get("w0") instanceof Woggle);        assertEquals(null, ((Woggle)map2.get("w0")).getOther() );        assertEquals(Color.Green.toString(), ((Map)map2.get("g0")).get("other"));                        json.addConvertor(Date.class,new JSONDateConvertor(DateCache.DEFAULT_FORMAT,TimeZone.getTimeZone("GMT"),true,l));        json.addConvertor(Enum.class,new JSONEnumConvertor(true));        buf = new StringBuffer();        json.append(buf,map);        js=buf.toString();        System.err.println(js);        map2=(HashMap)json.parse(new JSON.StringSource(js));                assertTrue(map2.get("date") instanceof Date);        assertTrue(map2.get("w0") instanceof Woggle);        assertEquals(null, ((Woggle)map2.get("w0")).getOther() );        Object o=((Map)map2.get("g0")).get("other");        assertEquals(Color.Green, o);               }*/    /* ------------------------------------------------------------ */    public static class Gizmo    {        String name;        Gizmo nested;        long number;        boolean tested;        Object other;                public String getName()        {            return name;        }        public Gizmo getNested()        {            return nested;        }        public long getNumber()        {            return number;        }        public boolean isTested()        {            return tested;        }        public Object getOther()        {            return other;        }    }        /* ------------------------------------------------------------ */    public static class Woggle extends Gizmo implements JSON.Convertible    {                public Woggle()        {        }                public void fromJSON(Map object)        {            name=(String)object.get("name");            nested=(Gizmo)object.get("nested");            number=((Number)object.get("number")).intValue();        }        public void toJSON(Output out)        {            out.addClass(Woggle.class);            out.add("name",name);            out.add("nested",nested);            out.add("number",number);        }                public String toString()        {            return name+"<<"+nested+">>"+number;        }            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -