废话不多说,直接上代码 private xxxx query() { String content = "json字符串"; JSONObject jsonObject = JSON.parseObject(content); Set<String> keys = jsonObject.keySet(); JSONObject newJsonObject = new JSONObject(jsonObject.size()); keys.forEach(s -> { String key = keyConvert(s); newJsonObject.put(key, jsonObject.get(key)); }); return JSONObject.parseObject(newJsonObject.toJSONString(), xxx.class); } /** * key由下划线转化为驼峰 * @param keyName * @return */ public String keyConvert(String keyName) { String[] arr = keyName.split("_"); StringBuilder endKey = new StringBuilder(); for (int i = 0; i < arr.length; i++) { if (i == 0) { endKey.append(arr[i]); continue; } endKey.append(upperCaseFirst(arr[i + 1])); } return endKey.toString(); } /** * Java字符串首字母转化为大写 * @param str * @return */ public String upperCaseFirst(String str) { char[] ch = str.toCharArray(); if (ch[0] >= 'a' && ch[0] <= 'z') { ch[0] = (char) (ch[0] - 32); } return new String(ch); } /** * 首字母转化为大写 * @param keyName * @return */ public String keyConvert2(String keyName) { char[] arr = keyName.toCharArray(); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < arr.length; i++) { if (arr[i] == '_') { stringBuilder.append(Character.toUpperCase(arr[i + 1])); i++; } else { stringBuilder.append(arr[i]); } } return stringBuilder.toString(); }
转载请注明:扩产网 » Java json字符串下划线key转化为驼峰实体类字段名