阿里巴巴

比眉伴天荒 2023-07-22 09:19 103阅读 0赞

FastJSON

  1. 引入依赖或者Jar包


    com.alibaba
    fastjson
    1.1.23
  2. 将Map转成JSON

    Map map = new HashMap();

    1. map.put("key1", "value1");
    2. map.put("key2", "value2");
    3. String mapJson = JSON.toJSONString(map);
    4. System.out.println(mapJson);
    5. //输出{"key1":"value1","key2":"value2"}
    6. //TODO 泛型的反序列化(使用TypeReference传入类型信息)
    7. Map<String, Object> map2 = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){ });
    8. System.out.println(map2);
  3. 将List<Map转成JSON

    List> list = new ArrayList>();

    1. Map<String, Object> map1 = new HashMap<String, Object>();
    2. map1.put("key1", "value1");
    3. map1.put("key2", "value2");
    4. Map<String, Object> map2 = new HashMap<String, Object>();
    5. map2.put("key1", "value3");
    6. map2.put("key2", "value4");
    7. list.add(map1);
    8. list.add(map2);
    9. String jsonstr = JSON.toJSONString(list);
    10. System.out.println(jsonstr);
    11. System.out.println("==========================================");
    12. //输出 [{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"value4"}]
    13. // TODO String objJson = JSON.toJSONString(Object object, boolean prettyFormat)
    14. //TODO 传入一个对象和一个布尔类型(是否格式化),将对象转成格式化后的JSON字符串。
    15. String listJson1 = JSONArray.toJSONString(list, true);
    16. System.out.println(listJson1);
    17. System.out.println("==========================================");
    18. String listJson2 = JSONArray.toJSONString(list, false);
    19. System.out.println(listJson2);
    20. System.out.println("==========================================");
    21. //TODO 使用单引号
    22. String listJson = JSON.toJSONString(list, SerializerFeature.UseSingleQuotes);
    23. //输出 [{'key1':'value1','key2':'value2'},{'key1':'value3','key2':'value4'}]
    24. System.out.println(listJson);
    25. System.out.println("==========================================");
    26. //TODO 集合反序列化
    27. List<Map> list1 = JSON.parseArray(listJson, Map.class);
    28. for(Map<String, Object> map : list1){
    29. System.out.println(map.get("key1"));
    30. System.out.println(map.get("key2"));
    31. }
    32. //输出 value1 value2 value3 value4
  4. Java bean

    UserDO userDO = new UserDO();

    1. userDO.setId(1);
    2. userDO.setName("乐乐");
    3. userDO.setAge(12);
    4. String userJson = JSON.toJSONString(userDO);
    5. System.out.println(userJson);
    6. //输出 {"age":12,"id":1,"username":"乐乐"}
    7. //TODO 普通序列化
    8. UserDO user1 = (UserDO) JSON.parse(userJson);
    9. System.out.println(user1.getAge());
    10. //输出 12
    11. //TODO 指定Class信息反序列化
    12. UserDO user2 = JSON.parseObject(userJson,UserDO.class);
    13. System.out.println(user2.getName());
    14. //输出 乐乐
  5. 时间

    //TODO (1)FastJSON将java.util.Date转成long。

    1. String dateJson1 = JSON.toJSONString(new Date());
    2. System.out.println(dateJson1);
    3. System.out.println("==========================================");
    4. //输出 1547900848449
    5. //TODO(2)使用SerializerFeature特性格式化日期。
    6. String dateJson2 = JSON.toJSONString(new Date(), SerializerFeature.WriteDateUseDateFormat);
    7. System.out.println(dateJson2);
    8. System.out.println("==========================================");
    9. //输出 "2019-01-19 20:29:24"
    10. //TODO(3)指定输出日期格式
    11. String dateJson3 = JSON.toJSONStringWithDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss");
    12. System.out.println(dateJson3);
    13. System.out.println("==========================================");
    14. //输出"2019-01-19 20:32:34"

发表评论

表情:
评论列表 (有 0 条评论,103人围观)

还没有评论,来说两句吧...

相关阅读

    相关 阿里20200221

    一面: 90mins 讲项目 讲一个集合框架整体框架 分Collection和Map两大类全部讲一遍,每一个接口和对应实现类,他们类各自的特点,性质,基本参数,能讲多

    相关 阿里Mysql规范

    MySQL数据类型选择 在MySQL中,选择正确的数据类型,对于性能至关重要。一般应该遵循下面两步: (1)确定合适的大类型:数字、字符串、时间、二进制; (2)

    相关 阿里代码规范

    1、关于本规范 本规范均出自阿里巴巴代码规范以及本人日常过程中的积累。由于篇幅有限,本文不予列出阿里巴巴代码规范的所有,仅列出本人觉得对日常使用过程中帮助较大且又是大家容

    相关 阿里四面

    阿里巴巴电话面试总结   1. 谈一谈你对反射机制的理解。 (官方概念)在程序运行状态中,对于任意一个类,都能够知道它的所有属性和方法,对于任意一个对象,都能够调用

    相关 阿里三面

    阿里巴巴蚂蚁金服面试总结 1. 讲一下Java中的内存模型。 答:Java中的内存模型是一个抽象的概念,分为主内存和工作内存,所有的变量都存在主内存中(局部变量和方法

    相关 阿里一面

    阿里巴巴一面总结 1. 基本数据类型有几种?分别是什么?在内存中是怎么分布的? 答:8种。byte、short,int、long、char、float、double、