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;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


