Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/java-convert-object-to-snake-case-map.html

java 对象转蛇形命名法(snake case)形式的 map

Java 笔记 Java 笔记


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 库的实现

需要导入 jackson 相关的两个库,以 maven 示例如下:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.10.0</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.10.0</version>
</dependency>

也封装一个 JSONUtil 工具类,代码如下: 

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;

import java.util.HashMap;
import java.util.Map;


public class JSONUtil {

    public static Object toJSONWithSnakeCase(Object javaObject) {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
        Map<String, Object> map = mapper.convertValue(javaObject, HashMap.class);
        return map;
    }

}

 

在Java中将对象转换为Map可以使用多种方式,下面我会介绍几种常见的实现方式,并附上示例代码。Maven依赖:Gradle依赖:###使用 ...
在Java中,将Map转换为对象有多种实现方式,下面将介绍其中一些常见的方式,并提供相应的步骤流程和示例代码。示例代码:###方式2:使用B ...
在Java中,将JSON转换为Map有多种方式可以实现,下面我将介绍几种常见的方法,并提供相应的代码示例和依赖坐标。1添加依赖Maven依赖 ...
在Java中将XML转换为Map的过程涉及到解析XML文档并将其转换为数据结构。以下是两种常见的方式来实现这个目标,包括每种方式的步骤流程和 ...
下面将介绍几种常见的方式,并给出带有注释的代码示例,同时从原理、性能和适用场景进行比较和描述。它通过将对象转换为JSON格式,然后再将JSO ...