• Javal连接字符串为Json


    public static  String concatJson(String[] keys,String[] values,String[] alreadyJsonKeys){
            if(keys==null|| values==null)
                return null;
            if(keys.length!=values.length)
                return "Json转换出错:key与values长度不相等";
            StringBuilder sb=new StringBuilder();
            sb.append("{");
            for(int i=0;i<keys.length;i++){
                Object object=values[i];
                if(object==null){
                    sb.append("""+ keys[i] +"":null,");
                }else{
                    if(alreadyJsonKeys!=null
                    &&CollectionsUtils.indexOf(alreadyJsonKeys,keys[i])>=0){
                        sb.append("""+ keys[i] +"":" + object + ",");
                    }else{
                        sb.append("""+ keys[i] +"":"" + object + "",");
                    }
                }
            }
    
            if(sb.charAt(sb.length()-1)==','){
                sb.deleteCharAt(sb.length()-1);
            }
            sb.append("}");
            return sb.toString();
        }
        public  static <T> String concatJson(List<T> list,boolean alreadyElementJson){
            if(list==null)
                return null;
            StringBuilder sb=new StringBuilder();
            sb.append("[");
            int size=list.size();
            for(int i=0; i<size;i++){
                T object=list.get(i);
                if(object==null){
                    sb.append("null");
                }
                if(object instanceof Date){
                    sb.append(""" + object + "",");
                }else if(object instanceof  String){
                    if(alreadyElementJson){  //已经是json字符串,不加引号
                        sb.append(object.toString()+",");
                    }else{
                        sb.append(""" + object + "",");
                    }
                }else if (object instanceof Boolean){
                    sb.append(object.toString() + ",");
                }else{
                    sb.append(objectToJson(object) + ",");
                }
            }
            if(sb.charAt(sb.length()-1)==','){
                sb.deleteCharAt(sb.length()-1);
            }
            sb.append("]");
            return sb.toString();
        }
    
        public static<T> String concatJson(List<T> jsonObjects){
            if(jsonObjects==null){
                return null;
            }
            if(jsonObjects.size()==0){
                return null;
            }
            StringBuilder sb=new StringBuilder();
            sb.append("[");
            int size=jsonObjects.size();
            for(int i=0;i<size;i++){
                sb.append(objectToJson(jsonObjects.get(i))+",");
            }
            if(sb.charAt(sb.length()-1)==','){
                sb.deleteCharAt(sb.length()-1);
            }
            sb.append("]");
            return sb.toString();
        }
        public static <T> String objectToJson(T t){
            if(t==null)
                return null;
            if(t instanceof List){
                return concatJson((List)t,false);
            }else if(t instanceof String ||t instanceof Date){
                return """+t.toString()+""";
            }else if( t instanceof Integer || t instanceof Long || t instanceof Double
                    || t instanceof BigDecimal || t instanceof Float
                    || t instanceof Boolean) {
                return t.toString() ; //字符串
            }
            return t.toString();
        }
    

      

  • 相关阅读:
    插入节点方法appendChild和insertBefore
    大河剧《独眼龙政宗》梵天丸喜多对话台词
    ie6绝对定位层元素消失
    strtok函数相关理解
    [创建型模式] Prototype
    用C实现旋转棒进度条指示器
    使用不规则数组(ragged array)和agetline()将整个文件读入内存
    [创建型模式] AbstractFactory
    xcode_4_and_ios_sdk_4.3__final相关下载地址
    [创建型模式] Singleton
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/10730704.html
Copyright © 2020-2023  润新知