购物免费领券就上搜券网,搜券网Souquan.Net带你来省钱,搜券领券再买,更省钱,半价抢先购!

Java json字符串下划线key转化为驼峰实体类字段名

Java 扩产网 1225℃ 0评论
废话不多说,直接上代码

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转化为驼峰实体类字段名

喜欢 (9)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址