fastjson的常用方法

本文提供多个Java中操作JSON数据的示例,包括解析对象及集合形式的JSON字符串、将对象转换为JSON字符串、将JSON字符串转换成Java对象等。通过这些示例可以快速了解如何在Java应用程序中使用JSON。
/**
     * 解析对象形式的json字符串
     */
    public static void test1() {
        String jsonStr = "{\"JACKIE_ZHANG\":\"张学友\",\"ANDY_LAU\":\"刘德华\",\"LIMING\":\"黎明\",\"Aaron_Kwok\":\"郭富城\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println(jsonObject.get("JACKIE_ZHANG"));
        System.out.println(jsonObject.get("ANDY_LAU"));
        System.out.println(jsonObject.get("LIMING"));
        System.out.println(jsonObject.get("Aaron_Kwok"));
    }

    /**
     * 解析集合形式的json字符串
     */
    public static void test2() {
        String jsonStr = "[{\"JACKIE_ZHANG\":\"张学友\"},{\"ANDY_LAU\":\"刘德华\"},{\"LIMING\":\"黎明\"},{\"Aaron_Kwok\":\"郭富城\"}]";
        JSONArray jsonArray = JSONArray.parseArray(jsonStr);
        JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(0)+"");
        System.out.println(jsonObject.get("JACKIE_ZHANG"));
    }

    /**
     *  将对象转换为JSON字符串
     */
    public static void test3() {
        UserInfo info = new UserInfo();
        info.setName("zhangsan");
        info.setAge(24);
        String str_json = JSON.toJSONString(info);
        System.out.println("JSON=" + str_json);
    }

    /**
     * 将复杂的字符串转换成字符串
     */
    public static void test4() {
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("username", "zhangsan");
        map.put("age", 24);
        map.put("sex", "男");

        // map集合
        HashMap<String, Object> temp = new HashMap<String, Object>();
        temp.put("name", "xiaohong");
        temp.put("age", "23");
        map.put("girlInfo", temp);

        // list集合
        List<String> list = new ArrayList<String>();
        list.add("爬山");
        list.add("骑车");
        list.add("旅游");
        map.put("hobby", list);

        String jsonString = JSON.toJSONString(map);
        System.out.println("JSON=" + jsonString);
    }

    /**
     * 将json字符串转换成bean对象
     */
    public static void test5() {
        String json = "{\"name\":\"chenggang\",\"age\":24}";
        UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
        System.out.println("name:" + userInfo.getName() + ", age:" + userInfo.getAge());
    }


    /** 泛型的反序列化 */
    public static void test6() {
        String json = "{\"user\":{\"name\":\"zhangsan\",\"age\":25}}";
        Map<String, UserInfo> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfo>>() {
        });
        System.out.println(map.get("user").getAge());
    }

    /**
     * 时间的序列化
     */
    public static void test7() {
        Date date = new Date();
        // 输出毫秒值
        System.out.println(JSON.toJSONString(date));
        // 默认格式为yyyy-MM-dd HH:mm:ss
        System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
        // 根据自定义格式输出日期
        System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));
    }

 

转载于:https://www.cnblogs.com/zhangjinru123/p/7522251.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值