• Fastjson常用方法


    Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
    public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
    public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
    public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
    public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
    public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本,boolean参数true能设置格式,false则不能
    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)   

    代码演示:

    // 实体类转换成json
        public static void voToJson() {
    
            UserInfo user = new UserInfo();
            user.setName("张三");
            user.setCar(null);
            user.setLike(new String[] { "吃", "喝" });
            // 注意:UserInfo中所有的属性都会显示出来,没有set的以默认值的方式显示(值为null的除外)
            String jsonstr = JSON.toJSONString(user);
            System.out.println("实体类转json格式字符串 :" + jsonstr);
        }
    
        // list集合的转换
        public static void listToJson() {
    
            List<UserInfo> list = new ArrayList<UserInfo>();
    
            UserInfo userinfo1 = new UserInfo();
            UserInfo userinfo2 = new UserInfo();
            userinfo1.setAge(12);
            userinfo2.setAge(20);
    
            list.add(userinfo1);
            list.add(userinfo2);
    
            String json = JSON.toJSONString(list, true);
            System.out.println("List集合转json格式字符串 :" + json);
        }
    
        // 字符数组JSON转化为数组
        public static void StringArrayToJSON() {
    
             String s = "[{"name":"aa","age":10},{"name":"bb","age":20}]";  
               
            List<UserInfo> list = JSON.parseArray(s, UserInfo.class);
            for (UserInfo ui:list) {
    
                
                System.out.println(ui.getName());
            }
    
        }
    
        // 复杂数据类型
        public static void Complexdata() {
            //map集合1
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("username", "zhangsan");
            map.put("age", 24);
            map.put("sex", "男");
            
    
            // map集合2
            HashMap<String, Object> temp = new HashMap<String, Object>();
            temp.put("name", "xiaohong");
            temp.put("age", "23");
            
            //map集合2装map集合1中
            map.put("girlInfo", temp);
    
            // list集合
            List<String> list = new ArrayList<String>();
            list.add("爬山");
            list.add("骑车");
            list.add("旅游");
            //map集合1装了List集合
            map.put("hobby", list);
            
            String jsonString = JSON.toJSONString(map);
            System.out.println("复杂数据类型:" + jsonString);
        }
    
        // JSON转成实体类
        public static void Deserialization() {
            String json = "{"name":"cc","age":24}";
            UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
            System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"
                    + userInfo.getAge());
        }
    
        // 格式化日期
        public static void DateFormate() {
            Date d = new Date();
            System.out.println("时间:" + d);
            System.out.println("输出毫秒值:" + JSON.toJSONString(d));
            System.out.println("默认格式为:"
                    + JSON.toJSONString(d,
                            SerializerFeature.WriteDateUseDateFormat));
            System.out.println("自定义日期:"
                    + JSON.toJSONStringWithDateFormat(d, "yyyy-MM-dd",
                            SerializerFeature.WriteDateUseDateFormat));
        }
    
        // Json转为实体
        public static void Json2Eetity() {
            String json = "{"name":"cc","age":24}";
            UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
            System.out.println("输出对象的地址:" + userInfo.toString());
            System.out.println("输出对象的名字:" + userInfo.getName());
        }
  • 相关阅读:
    Linux mail 命令使用
    django+nginx+xshell简易日志查询,接上<关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思>
    django admin后台提示没有static样式相关的文件
    nginx+uwsgi<django web环境的搭建>
    CentOS 6.5升级Python和安装IPython
    关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思
    记一次创建LVM的日志记录
    django TEMPLATES
    Only the sqlmigrate and sqlflush commands can be used when an app has migrations.
    rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>
  • 原文地址:https://www.cnblogs.com/lm970585581/p/7257822.html
Copyright © 2020-2023  润新知