zoukankan      html  css  js  c++  java
  • FastJson 对json中的KEY值的大小写转换方法

    /**
         * json大写转小写
         *
         * @return JSONObject
         */
        public static JSONObject transToLowerObject(String json) {
            JSONObject JSONObject2 = new JSONObject();
            JSONObject JSONObject1 = JSON.parseObject(json);
            for (String key : JSONObject1.keySet()){
                Object object = JSONObject1.get(key);
                if (object.getClass().toString().endsWith("JSONObject")) {
                    JSONObject2.put(key.toLowerCase(), transToLowerObject(object.toString()));
                } else if (object.getClass().toString().endsWith("JSONArray")) {
                    JSONObject2.put(key.toLowerCase(), transToArray(JSONObject1.getJSONArray(key).toString()));
                }else{
                    JSONObject2.put(key.toLowerCase(), object);
                }
            }
            return JSONObject2;
        }
    
        /**
         * jsonArray转jsonArray
         *
         * @return JSONArray
         */
        public static JSONArray transToArray(String jsonArray) {
            JSONArray jSONArray2 = new JSONArray();
            JSONArray jSONArray1 = JSON.parseArray(jsonArray);
            for (int i = 0; i < jSONArray1.size(); i++) {
                Object jArray = jSONArray1.getJSONObject(i);
                if (jArray.getClass().toString().endsWith("JSONObject")) {
                    jSONArray2.add(transToLowerObject( jArray.toString()));
                } else if (jArray.getClass().toString().endsWith("JSONArray")) {
                    jSONArray2.add(transToArray(jArray.toString()));
                }
            }
            return jSONArray2;
        }

    这是递归方法,JSONArray用下面的方法,JSONObject用上面的方法

    还有这种方案

        /**
         * json的Key值转化为小写
         * @param json
         * @return
         */
        public static String transformLowerCase(String json){
            String regex = "[\"' ]*[^:\"' ]*[\"' ]*:";// ({|\,)[a-zA-Z0-9_]+:
    
            Pattern pattern = Pattern.compile(regex);
            StringBuffer sb = new StringBuffer();
            // 方法二:正则替换
            Matcher m = pattern.matcher(json);
            while (m.find()) {
                m.appendReplacement(sb, m.group().toLowerCase());
            }
            m.appendTail(sb);
            return sb.toString();
        }

    也可以试试哦哦。

  • 相关阅读:
    软件新人问题解答(一)
    项目上线流程
    面试题:如何测试登录功能
    软件测试人员在工作中如何运用Linux
    认识接口测试
    刚入职的新人如何快速了解公司业务
    软件测试人员每天的工作日常
    面试题分析(二)如何避免漏测
    [谨记]记线上事故并分析原因
    面试经验分享:遇到不会回答的问题怎么回答才好
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/11765029.html
Copyright © 2011-2022 走看看