zoukankan      html  css  js  c++  java
  • 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();
        }
    

      

  • 相关阅读:
    loadrunner中变量和参数之间的转化实例
    Web Tours自带示例网站无法打开的解决方案
    LoadRunner替换字符串(可以同时替换多个)
    strcmp函数使用总结
    MVC生成CheckBoxList并对其验证
    MEF(Managed Extensibility Framework)有选择性地使用扩展组件
    MEF(Managed Extensibility Framework)使用全部扩展组件
    委托、多播委托、泛型委托Func,Action,Predicate,ExpressionTree
    使用jQuery异步传递Model到控制器方法,并异步返回错误信息
    使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/10730704.html
Copyright © 2011-2022 走看看