fastjson实现
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializeFilter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.BeanProperty;
public class Main {
public static void main(String[] args) {
// 设置FastJSON的序列化配置
SerializeConfig serializeConfig = new SerializeConfig();
serializeConfig.propertyNamingStrategy = PropertyNamingStrategy.LowerCaseFirstLetter;
// 设置FastJSON的解析配置
ParserConfig parserConfig = new ParserConfig();
parserConfig.propertyNamingStrategy = PropertyNamingStrategy.LowerCaseFirstLetter;
// 待转换的JSON字符串
String jsonString = "{\"Name\": \"John\", \"Age\": 30}";
// 将JSON字符串转换为对象
Object obj = JSON.parse(jsonString, parserConfig);
// 将对象转换为JSON字符串,使用上面配置的序列化策略
String result = JSON.toJSONString(obj, serializeConfig, new SerializeFilter[0], SerializerFeature.PrettyFormat);
// 输出结果
System.out.println(result);
}
}
gson实现
package com.susu.util;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonUtils {
/**
* 对JSONObject的所有首字母key转为小写
*
* @param jsonString
* @return
*/
public static JsonObject convertKeysToLowerCase(String jsonString) {
JsonElement jsonElement = JsonParser.parseString(jsonString);
return convertKeysToLowerCase(jsonElement.getAsJsonObject());
}
private static JsonObject convertKeysToLowerCase(JsonObject jsonObject) {
JsonObject newJsonObject = new JsonObject();
for (String key : jsonObject.keySet()) {
String newKey = key.substring(0, 1).toLowerCase() + key.substring(1);
JsonElement value = jsonObject.get(key);
if (value.isJsonObject()) {
value = convertKeysToLowerCase(value.getAsJsonObject());
newJsonObject.add(newKey, value);
}else if(value.isJsonArray()) {
JsonArray jsonArray = value.getAsJsonArray();
JsonArray newArray = new JsonArray();
for(int i=0;i<jsonArray.size();i++) {
value = convertKeysToLowerCase(jsonArray.get(i).getAsJsonObject());
newArray.add(value);
}
newJsonObject.add(newKey, newArray);
}else {
newJsonObject.add(newKey, value);
}
}
return newJsonObject;
}
}