阿里巴巴-FastJSON几种常用方法

/**
 * <pre>
 * TODO:测试阿里巴巴工具类 fastjson
 * </pre>
 *
 * @author zhangjunchao
 * @date 2019/7/8
 */
public class TestFastJson {

    // 实体(对象)转为Json
    @Test
    public void test() {
        String name = "张三";
        int age = 18;
        Userinfo info = new Userinfo(name, age);
        // 转换方法
        String str_json = JSON.toJSONString(info);

        System.out.println("实体转化为Json" + str_json);
    }

    // list转Json
    @Test
    public void test2() {
        List<Userinfo> list = new ArrayList<>();
        Userinfo userinfo1 = new Userinfo("张三", 15);
        Userinfo userinfo2 = new Userinfo("李四", 16);
        list.add(userinfo1);
        list.add(userinfo2);

        // 清除list元素
        list.remove(userinfo1);

        // 转换方法
        String json = JSON.toJSONString(list, true);
        System.out.println("List集合转json格式字符串 :" + json);


    }

    // 字符数组string转化为JSonArray
    @Test
    public void test3() {
        String st = "[{\"name\":\"Tim\",\"age\":25,\"sex\":\"male\"},{\"name\":\"Tom\",\"age\":28,\"sex\":\"male\"}]";

        // 转换方法
        JSONArray tableData = JSONArray.parseArray(st);

        System.out.println(tableData);
    }

    // 复杂数据类型
    @Test
    public void test4() {
        // map集合
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("username", "zhangsan");
        map.put("age", 24);
        map.put("sex", "男");

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

        // 把list集合放入map中
        map.put("hobby", list);

        // 转换方法
        String jsonString = JSON.toJSONString(map);

        System.out.println("复杂数据类型:" + jsonString);




    }

    // string转换为实体(对象)
    @Test
    public void test5() {

        String st = "{name:\"张三\",age:18}";

        // 转换方法
        Userinfo userInfo = JSON.parseObject(st, Userinfo.class);

        System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:" + userInfo.getAge());
    }

    // 格式化日期
    @Test
    public void test6() {
        Date date = new Date();

        // 13位时间戳
        System.out.println("输出毫秒值:" + JSON.toJSONString(date));

        // 默认格式(常用)为:"2019-07-08 17:52:04"
        String dateString = JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat);
        System.out.println("默认格式为:" + dateString);

        // 自定义日期:"2019-07-08 17-52-53 521"
        String dateStringFormat = JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH-mm-ss SSS",
                SerializerFeature.WriteDateUseDateFormat);
        System.out.println("自定义日期:" + dateStringFormat);

        String format3 = LocalDateTime
                .now()
                .format(DateTimeFormatter
                        .ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println(format3);

        // 此方法可以格式化非对象
        String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        System.out.println(format);


    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值