zoukankan      html  css  js  c++  java
  • java JSON 序列化类(List<Object> 转String)

    import com.alibaba.fastjson.JSONObject;
    import com.google.common.base.Preconditions;
    import com.google.common.base.Strings;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by mi on 16-12-22.
     */
    public class SerializationDefine {
        public static String segSymbols = "##segSymbols##";//分割符号
    
        public static String Object2String(Object obj) {
            Preconditions.checkArgument(obj != null, "序列化对象为null");
            return JSONObject.toJSONString(obj);
        }
    
        public static <T> T String2Object(String str, Class<T> tClass) {
            return JSONObject.parseObject(str, tClass);
        }
    
        public static <T> String[] List2StringArray(List<T> objects) {
            if (objects == null || objects.size() == 0) {
                return new String[]{};
            }
    
            String[] strArray = new String[objects.size()];
            for (int i = 0; i < objects.size(); i++) {
                strArray[i] = Object2String(objects.get(i));
            }
    
            return strArray;
        }
    
        public static <T> List<T> StringArray2List(String[] strs, Class<T> tClass) {
            if (strs == null || strs.length == 0) {
                return new ArrayList<T>();
            }
    
            List<T> objList = new ArrayList<T>();
            for (int i = 0; i < strs.length; i++) {
                objList.add(String2Object(strs[i], tClass));
            }
            return objList;
        }
    
        public static <T> String List2Str(List<T> objects) {
            String[] strings = List2StringArray(objects);
            if (strings == null || strings.length == 0) {
                return "";
            }
            StringBuffer stringBuffer = new StringBuffer();
            for (int i = 0; i < strings.length; i++) {
                if (i == 0) {
                    stringBuffer.append(strings[i]);
                } else {
                    stringBuffer.append(segSymbols + strings[i]);
                }
            }
            return stringBuffer.toString();
        }
    
        public static <T> List<T> Str2List(String str, Class<T> tClass) {
            if (Strings.isNullOrEmpty(str)) {
                return new ArrayList<T>();
            }
    
            String[] strs = str.split(segSymbols);
            return StringArray2List(strs, tClass);
        }
    }
  • 相关阅读:
    (转)vim重复命令
    (转)Linux 目录结构
    (转)Linux 文件权限
    (转)Linux查看用户及其权限管理
    linux banner命令
    redmine和svn server的部署
    OpenCV学习 7:图像形态学:腐蚀、膨胀
    OpenCV学习 6:平滑滤波器 cvSmooth()——2
    《将博客搬至CSDN》
    OpenCV学习 5:关于平滑滤波器 cvSmooth()函数
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/6881927.html
Copyright © 2011-2022 走看看