package com.bcxin.signature.util;
import java.util.LinkedList;
import java.util.List;
public class JsonConverUtil {
/**
* Json字符串key首字母大小写转换
* @param str json字符串
* @param rule 转换类型:1.大写,其它.小写
* @author ZXF
* @create 2019/06/24 0024 14:06
* @version
* @注意事项
*/
public static String jsonParamNameFirstOneConvert(String str, Integer rule) {
String splitRule0 = "", splitRule1 = ":", splitRule2 = ",\"", splitRule3 = "\"", splitRule4 = "{", splitRule5 = "[";
String[] split = str.split(splitRule1);
List params = new LinkedList<>();
for (int i = 0; i < split.length; i++) {
if (i == (split.length - 1)) {
break;
}
String[] ss = split[i].split(splitRule2);
String result = ss[ss.length - 1].replace(splitRule3, splitRule0).replace(splitRule4, splitRule0).replace(splitRule5, splitRule0);
params.add(result);
}
for (String param : params) {
String newParam = null;
if (rule.equals(1)) {
newParam = toUpperCaseFirstOne(param);
} else {
newParam = toLowerCaseFirstOne(param);
}
str = str.replace(param, newParam);
}
return str;
}
/**
* 首字母转小写
* @author ZXF
* @create 2019/06/24 0024 14:06
* @version
* @注意事项
*/
public static String toLowerCaseFirstOne(String s) {
if(Character.isLowerCase(s.charAt(0))) {
return s;
}else {
return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
}
}
/**
* 首字母转大写
* @author ZXF
* @create 2019/06/24 0024 14:06
* @version
* @注意事项
*/
public static String toUpperCaseFirstOne(String s) {
if(Character.isUpperCase(s.charAt(0))) {
return s;
}else {
return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
}
}
}