package com.beeasy.loadqcc.utils;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class JsonConvertUtils {
//标准驼峰和不标准驼峰转下划线
public static String convert1(String json) {
JSONObject jsonObject = JSON.parseObject(json);
return convert1(jsonObject).toJSONString();
}
private static JSONObject convert1(JSONObject input) {
JSONObject result = new JSONObject();
Set<Entry<String, Object>> entrySet = input.entrySet();
for (Iterator<Entry<String, Object>> it = entrySet.iterator(); it.hasNext();) {
Entry<String, Object> entry = it.next();
Object obj = entry.getValue();
String key = entry.getKey();
String[] ss = key.split("(?<!^)(?=[A-Z])");
int len = ss==null?0:ss.length;
StringBuffer sb=new StringBuffer();
for(int i=0;i<len;i++) {
sb.append(toLowerCaseFirstOne(ss[i]));
if(i<len-1) {
sb.append("_");
}
}
if(obj instanceof JSONObject) {
result.put(sb.toString(), convert1((JSONObject)obj));
}else if(obj instanceof JSONArray) {
result.put(sb.toString(), convert1((JSONArray)obj));
}else {
result.put(sb.toString(), entry.getValue());
}
}
return result;
}
private static JSONArray convert1(JSONArray input) {
JSONArray result = new JSON