• 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;
        }
    }
  • 相关阅读:
    十四、oracle 数据库管理--管理表空间和数据文件
    十一、oracle 数据库管理员
    十二、oracle 数据库(表)的逻辑备份与恢复
    九、oracle 事务
    十、oracle 常用函数
    八、oracle 分页
    七、oracle 表查询二
    五、oracle 表的管理
    六、表查询一
    四、oracle 用户管理(Profile)
  • 原文地址:https://www.cnblogs.com/luchangyou/p/6278370.html
Copyright © 2020-2023  润新知