fastjson 学习笔记

来源:互联网 发布:如何注册域名步骤 编辑:程序博客网 时间:2024/06/18 01:04

fastjson 学习笔记

依赖:

<dependency>            <groupId>com.alibaba</groupId>            <artifactId>fastjson</artifactId>            <version>1.2.3</version>        </dependency>
//fast json 学习笔记;jdk1.7// http://www.jianshu.com/p/4cab1e59befb// http://zyjustin9.iteye.com/blog/2020533    @Test    public void testJsonToMap() {        String json = "{\"pwd\":\"123\",\"username\":\"shan\",\"heart\":{\"name\":\"bearHeart\",\"size\":100,\"weight\":100.22},\"token\":\"shanhaha\",\"ip\":\"localhost\"}";        Map<String, Object> map = JSON.parseObject(json, HashMap.class);        System.out.println(map.get("username"));        //获取 MAP 中的存储对象 heart        Object heartJson = map.get("heart");        System.out.println(heartJson instanceof JSONObject); //map 中取出的对象现在是 JSONObject 形式        Heart heart = JSON.parseObject(heartJson.toString(), Heart.class); //转换成 Heart 对象        System.out.println(heart.getName());        System.out.println(map);    }    @Test    public void testMapToJson() {        HashMap<String, Object> map = new HashMap<String, Object>();        map.put("username", "shan");        map.put("pwd", "123");        map.put("ip", "localhost");        map.put("token", "shanhaha");        Heart heart = new Heart("bearHeart", 100, 100.22);        map.put("heart", heart);        String json = JSON.toJSONString(map);        System.out.println(json);    }    @Test    public void testListToJson() {        List<Object> list = new ArrayList<Object>();        list.add("aaa");        list.add("bbb");        list.add("ccc");        Heart heart = new Heart("bearHeart", 100, 100.22);        list.add(heart);        String json = JSONArray.toJSONString(list,SerializerFeature.UseSingleQuotes);        System.out.println(json);    }    @Test    public void testJsonToList() {        String json = "[\"aaa\",\"bbb\",\"ccc\",{\"name\":\"bearHeart\",\"size\":100,\"weight\":100.22}]";        List<Object> list = JSON.parseObject(json, ArrayList.class);        for (Object o : list) {            if (o instanceof JSONObject) {                JSONObject jsonObject = ((JSONObject) o);                String hearJson = jsonObject.toJSONString();                Heart heart = JSON.parseObject(hearJson, Heart.class);                System.out.println(heart.getWeight());            } else {                System.out.println(o.toString());            }        }    }    @Test    public void testDate(){        Date date = new Date();        System.out.println(JSON.toJSONString(date));        System.out.println(JSON.toJSONString(date,SerializerFeature.WriteDateUseDateFormat));        System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS"));;    }    @Test    public void testWriteClass(){        //SerializerFeature.WriteClassName 使用这个特性能够使得反序列化时不至于类型信息丢失。        HashMap<String, Object> map = new HashMap<String, Object>();        map.put("username", "shan");        map.put("pwd", "123");        map.put("ip", "localhost");        map.put("token", "shanhaha");        Heart heart = new Heart("bearHeart", 100, 100.22);        map.put("heart", heart);        String json = JSON.toJSONString(map,SerializerFeature.WriteClassName);        System.out.println(json);        Map<String,Object> mm = JSON.parseObject(json, HashMap.class);        Heart hh = (Heart) mm.get("heart");        System.out.println(hh.getWeight());    }
0 0
原创粉丝点击