zoukankan      html  css  js  c++  java
  • json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名:

    例如:

    原json串:
    String json= "{'user_name':'ok','user_sex':0,'object_info':{'business_code':'0001','business_info':{'business_name':'ok'}}}";
    转换为:
    String json= "{'userName':'ok','userSex':0,'objectInfo':{'businessCode':'0001','businessInfo':{'businessName':'ok'}}}";

    具体工具类如下:

    public class JsonUtils {
    
        public final static void convert(Object json) {
            if (json instanceof JSONArray) {
                JSONArray arr = (JSONArray) json;
                for (Object obj : arr) {
                    convert(obj);
                }
            } else if (json instanceof JSONObject) {
                JSONObject jo = (JSONObject) json;
                Set<String> keys = jo.keySet();
                String[] array = keys.toArray(new String[keys.size()]);
                for (String key : array) {
                    Object value = jo.get(key);
                    String[] key_strs = key.split("_");
                    if (key_strs.length > 1) {
                        StringBuilder sb = new StringBuilder();
                        for (int i = 0; i < key_strs.length; i++) {
                            String ks = key_strs[i];
                            if (!"".equals(ks)) {
                                if (i == 0) {
                                    sb.append(ks);
                                } else {
                                    int c = ks.charAt(0);
                                    if (c >= 97 && c <= 122) {
                                        int v = c - 32;
                                        sb.append((char) v);
                                        if (ks.length() > 1) {
                                            sb.append(ks.substring(1));
                                        }
                                    } else {
                                        sb.append(ks);
                                    }
                                }
                            }
                        }
                        jo.remove(key);
                        jo.put(sb.toString(), value);
                    }
                    convert(value);
                }
            }
        }
    
        public final static Object convert(String json) {
            Object obj = JSON.parse(json);
            convert(obj);
            return obj;
        }
    }
  • 相关阅读:
    我的shell脚本
    Shell中[]里面的条件判断
    编写shell脚本需要特别关注的注意点
    Excel文本获取拼音
    netsh wlan start hostednetwork
    windows cmd 看服务cpu、内存
    cmd cvf war包
    PLSQL查询最近编绎、创建、修改过的过程函数
    根据sid或sqlID查询SQL
    JS字符串类型转日期然后进行日期比较
  • 原文地址:https://www.cnblogs.com/luchangyou/p/6278370.html
Copyright © 2011-2022 走看看