java 对象(object),一般是 pojo 对象想要转换成蛇形命名法(snake case)形式的 map 映射形式,主要有两种方式,一种基于阿里(alibaba)开源的 fastjson 库,另一个也可以用 json 工具 jackson 库。
基于 fastjson 库的实现
定义一个封装工具类 JSONUtil,底层调用 fastjson 库的 JSON.toJSON 静态方法,序列化配置指定 SERIALIZE_CONFIG_SNAKE_CASE,具体如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.serializer.SerializeConfig;
public class JSONUtil {
public static final SerializeConfig SERIALIZE_CONFIG_SNAKE_CASE = new SerializeConfig();
public static Object toJSONWithSnakeCase(Object javaObject) {
return JSON.toJSON(javaObject, SERIALIZE_CONFIG_SNAKE_CASE);
}
static {
SERIALIZE_CONFIG_SNAKE_CASE.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
}
}
基于 jackson 库的实现
<