Java中json字符串的key下划线转换为驼峰命名的方法分享
下文笔者讲述将json字符串中下划线转换为驼峰命名的方法分享,如下所示:
例:
例:
原json串: String json= "{'user_name':'website','user_sex':0,'object_info':{'business_code':'8888','business_info':{'business_name':'网站'}}}"; 转换为: String json= "{'userName':'website','userSex':0,'objectInfo':{'businessCode':'8888','businessInfo':{'businessName':'网站'}}}"; 工具类 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; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。