zoukankan      html  css  js  c++  java
  • 阿里fastjson工具类

    package com.common.utils.jsonUtils;
     
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.parser.ParserConfig;
    import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer;
    import com.alibaba.fastjson.serializer.SerializeConfig;
    import com.alibaba.fastjson.serializer.SerializerFeature;
     
    import java.io.Serializable;
    import java.util.List;
    import java.util.Map;
     
    /**
     * 阿里fastjson
     *
     * @author nachuan
     * @create 2019-04-28 18:10
     */
    public class MyFastJsonUtils  extends JSON implements Serializable {
     
        private static final SerializeConfig config;
        static {
            config = new SerializeConfig();
            // 使用和json-lib兼容的日期输出格式
            config.put(java.util.Date.class, new JSONLibDataFormatSerializer());
            // 使用和json-lib兼容的日期输出格式
            config.put(java.sql.Date.class, new JSONLibDataFormatSerializer());
     
        }
     
        /**
         * 输出空置字段
         */
        private static final SerializerFeature[] features = {SerializerFeature.WriteMapNullValue,
                // list字段如果为null,输出为[],而不是null
                SerializerFeature.WriteNullListAsEmpty,
                // 数值字段如果为null,输出为0,而不是null
    //            SerializerFeature.WriteNullNumberAsZero,
                // Boolean字段如果为null,输出为false,而不是null
                SerializerFeature.WriteNullBooleanAsFalse,
                // 字符类型字段如果为null,输出为"",而不是null
                SerializerFeature.WriteNullStringAsEmpty
        };
     
        public static JSONObject getFson(){
            return new JSONObject();
        }
     
        public  static  JSONArray getFsonArray(){
                return  new JSONArray();
        }
     
        /**
         * 类转json字符串 时间复杂化处理,并且会打印空属性
         * @param object
         * @return
         */
        public static String objToJsonStrWithCF(Object object) {
            return JSON.toJSONString(object, config, features);
        }
        /**
         * 类转json字符串  时间复杂化处理,空属性不会打印 "time":1556449527766,"minutes":5,"seconds":27,"hours":19,"month":3,"year":119,"timezoneOffset":-480,"day":0,"date":28
         * @param object
         * @return
         */
        public static String objToJsonStrWithC(Object object) {
            return JSON.toJSONString(object, config);
        }
     
        /**
         * 类转json字符串   会打印对象中所有的属性,没值的直接为空
         * @param object
         * @return
         */
        public static String objToJsonStrWithF(Object object) {
            return JSON.toJSONString(object);
        }
        /**
         * 推荐使用
         * 类转json字符串  只打印对象中有值的,没有值的不打印
         * @param object
         * @return
         */
        public static String obj2JsonStr(Object object) {
            ParserConfig.getGlobalInstance().setAsmEnable(false);
     
            return JSON.toJSONString(object,features);
        }
     
     
        /**
         * json字符串转为object类
         * @param text
         * @return
         */
        public static Object strToBean(String text) {
            return JSON.parse(text);
        }
     
        /**
         * json字符串转bean
         * @param text
         * @param clazz
         * @param <T>
         * @return
         */
        public static <T> T strToBean(String text, Class<T> clazz) {
            return JSON.parseObject(text, clazz);
        }
     
        /**
         * json字符串转为数组
         * @param text
         * @param <T>
         * @return
         */
        public static <T> Object[] strToArray(String text) {
            return strToArray(text, null);
        }
     
        /**
         * json字符串转为对象数组
         * @param text
         * @param clazz
         * @param <T>
         * @return
         */
        public static <T> Object[] strToArray(String text, Class<T> clazz) {
            return JSON.parseArray(text, clazz).toArray();
        }
     
        /**
         * json字符串转为 对象集合
         * @param text
         * @param clazz
         * @param <T>
         * @return
         */
        public static <T> List<T> strToList(String text, Class<T> clazz) {
            return JSON.parseArray(text, clazz);
        }
     
     
     
        /**
         * 将string转化为序列化的json字符串
         * @return
         */
        public static Object strToJson(String str) {
            Object objectJson  = JSON.parse(str);
            return objectJson;
        }
     
        /**
         * json字符串转化为map
         * @param str
         * @return
         */
        public static <K, V> Map<K, V> strToMap(String str) {
            Map<K, V> m = (Map<K, V>) JSONObject.parseObject(str);
            return m;
        }
     
        /**
         * 转换JSON字符串为对象
         * @param str
         * @param clazz
         * @return
         */
        public static Object strToObject(String str, Class<?> clazz) {
            return JSONObject.parseObject(str, clazz);
        }
     
     
     
        /**
         * 将map转化为string
         * @param map
         * @return
         */
        public static <K, V> String mapToStr(Map<K, V> map) {
            String s = JSONObject.toJSONString(map);
            return s;
        }
     
     
    }

    本文链接:https://blog.csdn.net/weixin_39530695/article/details/96588337

  • 相关阅读:
    JUnit4_2
    软件工程
    Java核心API需要掌握的程度
    VS2008工具箱不显示的解决方法
    SQLServer 2005中的Row_Number()分页
    关于UITableView的一点儿新认识
    二叉树的建立和遍历
    In App Purchases(IAP 应用程序內购买): 完全攻略 (转)
    [转]内存分配函数 _alloc/malloc/calloc
    ObjectiveC学习笔记
  • 原文地址:https://www.cnblogs.com/pypua/p/11720043.html
Copyright © 2011-2022 走看看