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();
    }

  

原文地址:https://www.cnblogs.com/sunliyuan/p/10730704.html