Java通过FastJson将实体类转换为 Map 类型

Posted smile-yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java通过FastJson将实体类转换为 Map 类型相关的知识,希望对你有一定的参考价值。

问题描述

现在有特定需求,将一个实体类 Student 转换为 Map<String, Object> 类型。

导入依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.7</version>
</dependency>

编写方法并测试

public static void main(String[] args) 
    Student student = new Student("小明", 6);
    Map<String, Object> innerMap = JSON.parseObject(JSONObject.toJSONString(student)).getInnerMap();
    innerMap.forEach((key, value) -> 
        System.out.println(key + ":" + value);
    );

其中 Student 是自己写的一个简单的实体类

package cn.smileyan.demo.fastjson;

public class Student 
    private String name;
    private Integer age;

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public Integer getAge() 
        return age;
    

    public void setAge(Integer age) 
        this.age = age;
    

    public Student(String name, Integer age) 
        this.name = name;
        this.age = age;
    

总结

查了一下资料我认为很多方法是存在问题的,应该结合 fastjson 内置的 map 来进行这样的操作,节省一些额外的开销。

Smileyan
2022.7.28 11:15

以上是关于Java通过FastJson将实体类转换为 Map 类型的主要内容,如果未能解决你的问题,请参考以下文章

Java通过FastJson将实体类转换为 Map 类型

JAVA中 Map转换实体类对象简单实现 JSON

Java--Map与实体类对象之间互转

java net.sf.json 如何将javabean的首字母转换为大写

Map 与实体类相互转换

Map 与实体类相互转换