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

📄 jsontest.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//========================================================================//Copyright 2004-2008 Mort Bay Consulting Pty. Ltd.//------------------------------------------------------------------------//Licensed under the Apache License, Version 2.0 (the "License");//you may not use this file except in compliance with the License.//You may obtain a copy of the License at //http://www.apache.org/licenses/LICENSE-2.0//Unless required by applicable law or agreed to in writing, software//distributed under the License is distributed on an "AS IS" BASIS,//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.//See the License for the specific language governing permissions and//limitations under the License.//========================================================================package org.mortbay.util.ajax;import java.io.StringReader;import java.lang.reflect.Array;import java.math.BigDecimal;import java.text.DateFormatSymbols;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Locale;import java.util.Map;import java.util.TimeZone;import junit.framework.TestCase;import org.mortbay.util.DateCache;import org.mortbay.util.ajax.JSON.Output;public class JSONTest extends TestCase{       String test="\n\n\n\t\t    "+    "// ignore this ,a [ \" \n"+    "/* and this \n" +    "/* and * // this \n" +    "*/" +    "{ "+    "\"onehundred\" : 100  ,"+    "\"small\":-0.2,"+    "\"name\" : \"fred\"  ," +    "\"empty\" : {}  ," +    "\"map\" : {\"a\":-1.0e2}  ," +    "\"array\" : [\"a\",-1.0e2,[],null,true,false]  ," +    "\"w0\":{\"class\":\"org.mortbay.util.ajax.JSONTest$Woggle\",\"name\":\"woggle0\",\"nested\":{\"class\":\"org.mortbay.util.ajax.JSONTest$Woggle\",\"name\":\"woggle1\",\"nested\":null,\"number\":-101},\"number\":100}" +    "}";        public void testToString()    {        HashMap map = new HashMap();        HashMap obj6 = new HashMap();        HashMap obj7 = new HashMap();                Woggle w0 = new Woggle();        Woggle w1 = new Woggle();                w0.name="woggle0";        w0.nested=w1;        w0.number=100;        w1.name="woggle1";        w1.nested=null;        w1.number=-101;                map.put("n1",null);        map.put("n2",new Integer(2));        map.put("n3",new Double(-0.00000000003));        map.put("n4","4\n\r\t\"4");        map.put("n5",new Object[]{"a",new Character('b'),new Integer(3),new String[]{},null,Boolean.TRUE,Boolean.FALSE});        map.put("n6",obj6);        map.put("n7",obj7);        map.put("n8",new int[]{1,2,3,4});        map.put("n9",new JSON.Literal("[{},  [],  {}]"));        map.put("w0",w0);                obj7.put("x","value");                String s = JSON.toString(map);        assertTrue(s.indexOf("\"n1\":null")>=0);        assertTrue(s.indexOf("\"n2\":2")>=0);        assertTrue(s.indexOf("\"n3\":-3.0E-11")>=0);        assertTrue(s.indexOf("\"n4\":\"4\\n")>=0);        assertTrue(s.indexOf("\"n5\":[\"a\",\"b\",")>=0);        assertTrue(s.indexOf("\"n6\":{}")>=0);        assertTrue(s.indexOf("\"n7\":{\"x\":\"value\"}")>=0);        assertTrue(s.indexOf("\"n8\":[1,2,3,4]")>=0);        assertTrue(s.indexOf("\"n9\":[{},  [],  {}]")>=0);        assertTrue(s.indexOf("\"w0\":{\"class\":\"org.mortbay.util.ajax.JSONTest$Woggle\",\"name\":\"woggle0\",\"nested\":{\"class\":\"org.mortbay.util.ajax.JSONTest$Woggle\",\"name\":\"woggle1\",\"nested\":null,\"number\":-101},\"number\":100}")>=0);        Gadget gadget = new Gadget();        gadget.setShields(42);        gadget.setWoggles(new Woggle[]{w0,w1});                s = JSON.toString(new Gadget[]{gadget});        assertTrue(s.startsWith("["));        assertTrue(s.indexOf("\"modulated\":false")>=0);        assertTrue(s.indexOf("\"shields\":42")>=0);        assertTrue(s.indexOf("\"name\":\"woggle0\"")>=0);        assertTrue(s.indexOf("\"name\":\"woggle1\"")>=0);    }                /* ------------------------------------------------------------ */    /* (non-Javadoc)     * @see junit.framework.TestCase#setUp()     */    protected void setUp() throws Exception    {        JSON.registerConvertor(Gadget.class,new JSONObjectConvertor(false));    }    /* ------------------------------------------------------------ */    public void testParse()    {        Map map = (Map)JSON.parse(test);        assertEquals(new Long(100),map.get("onehundred"));        assertEquals("fred",map.get("name"));        assertEquals(new Double(-0.2),map.get("small"));        assertTrue(map.get("array").getClass().isArray());        assertTrue(map.get("w0") instanceof Woggle);        assertTrue(((Woggle)map.get("w0")).nested instanceof Woggle);        assertEquals(-101,((Woggle)((Woggle)map.get("w0")).nested).number);                        test="{\"data\":{\"source\":\"15831407eqdaawf7\",\"widgetId\":\"Magnet_8\"},\"channel\":\"/magnets/moveStart\",\"connectionId\":null,\"clientId\":\"15831407eqdaawf7\"}";        map = (Map)JSON.parse(test);            }    /* ------------------------------------------------------------ */    public void testParseReader() throws Exception    {        Map map = (Map)JSON.parse(new StringReader(test));           assertEquals(new Long(100),map.get("onehundred"));        assertEquals("fred",map.get("name"));        assertTrue(map.get("array").getClass().isArray());        assertTrue(map.get("w0") instanceof Woggle);        assertTrue(((Woggle)map.get("w0")).nested instanceof Woggle);                test="{\"data\":{\"source\":\"15831407eqdaawf7\",\"widgetId\":\"Magnet_8\"},\"channel\":\"/magnets/moveStart\",\"connectionId\":null,\"clientId\":\"15831407eqdaawf7\"}";        map = (Map)JSON.parse(test);    }        /* ------------------------------------------------------------ */    public void testStripComment()    {        String test="\n\n\n\t\t    "+        "// ignore this ,a [ \" \n"+        "/* "+        "{ "+        "\"onehundred\" : 100  ,"+        "\"name\" : \"fred\"  ," +        "\"empty\" : {}  ," +        "\"map\" : {\"a\":-1.0e2}  ," +        "\"array\" : [\"a\",-1.0e2,[],null,true,false]  ," +        "} */";                Object o = JSON.parse(test,false);        assertTrue(o==null);        o = JSON.parse(test,true);        assertTrue(o instanceof Map);        assertEquals("fred",((Map)o).get("name"));            }        /* ------------------------------------------------------------ */    public void testQuote()    {        String test="\"abc123|\\\"|\\\\|\\/|\\b|\\f|\\n|\\r|\\t|\\uaaaa|\"";                String result = (String)JSON.parse(test,false);        assertEquals("abc123|\"|\\|/|\b|\f|\n|\r|\t|\uaaaa|",result);    }    /* ------------------------------------------------------------ */    public void testBigDecimal()    {        Object obj = JSON.parse("1.0E7");        assertTrue(obj instanceof Double);        BigDecimal bd = BigDecimal.valueOf(10000000d);        String string = JSON.toString(new Object[]{bd});         obj = Array.get(JSON.parse(string),0);        assertTrue(obj instanceof Double);    }        /* ------------------------------------------------------------ */    public static class Gadget     {        private boolean modulated;        private long shields;        private Woggle[] woggles;        /* ------------------------------------------------------------ */        /**         * @return the modulated         */        public boolean isModulated()        {            return modulated;        }        /* ------------------------------------------------------------ */        /**         * @param modulated the modulated to set         */        public void setModulated(boolean modulated)        {            this.modulated=modulated;        }        /* ------------------------------------------------------------ */        /**         * @return the shields         */        public long getShields()        {            return shields;        }        /* ------------------------------------------------------------ */        /**         * @param shields the shields to set         */        public void setShields(long shields)        {            this.shields=shields;        }

⌨️ 快捷键说明

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