Spring Boot开发时Java对象和Json对象互转

🙈作者简介:练习时长两年半的Java up主

🙉个人主页:程序员老茶

🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎

📚系列专栏:Java全栈,计算机系列(火速更新中)

💭 格言:种一棵树最好的时间是十年前,其次是现在

🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • [Spring Boot开发时Java对象和Json对象转换](#Spring Boot开发时Java对象和Json对象转换)
    • [1. Java对象转换为Json对象](#1. Java对象转换为Json对象)
    • [2. Json对象转换为Java对象](#2. Json对象转换为Java对象)

Spring Boot开发时Java对象和Json对象转换

在Spring Boot开发中,我们经常需要处理Java对象和Json对象之间的转换。本文将介绍如何在Spring Boot项目中实现Java对象和Json对象之间的转换。

1. Java对象转换为Json对象

在Spring Boot中,我们可以使用Jackson库轻松地将Java对象转换为Json对象。首先,需要在项目中引入Jackson依赖:

xml 复制代码
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.5</version>
</dependency>

然后,在需要转换的地方使用ObjectMapper类进行转换:

java 复制代码
import com.fasterxml.jackson.databind.ObjectMapper;

public class ObjectToJson {
    public static void main(String[] args) {
        // 创建一个Java对象
        Person person = new Person("张三", 25);

        // 创建ObjectMapper对象
        ObjectMapper objectMapper = new ObjectMapper();

        try {
            // 将Java对象转换为Json字符串
            String jsonString = objectMapper.writeValueAsString(person);
            System.out.println("Json字符串:" + jsonString);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

其中,Person类如下:

java 复制代码
public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // getter和setter方法省略...
}

2. Json对象转换为Java对象

与Java对象转换为Json对象类似,我们也可以使用ObjectMapper类将Json对象转换为Java对象。以下是一个示例:

java 复制代码
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;

public class JsonToObject {
    public static void main(String[] args) {
        // 创建一个Json字符串(JSON格式)
        String jsonString = "{\"name\":\"张三\",\"age\":25}";

        // 创建ObjectMapper对象
        ObjectMapper objectMapper = new ObjectMapper();

        try {
            // 将Json字符串转换为Map对象(键值对)
            Map<String, Object> map = objectMapper.readValue(jsonString, Map.class);
            Person person = new Person((String) map.get("name"), (Integer) map.get("age"));
            System.out.println("Java对象:" + person);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先将Json字符串转换为Map对象,然后从Map中获取键值对并创建一个新的Java对象。

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术
相关推荐
Java中文社群8 分钟前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL1 小时前
JVM 类加载:双亲委派机制
java·后端
用户298698530142 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥2 小时前
原来公平锁和非公平锁差别这么大
java
渣哥2 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K2 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7252 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc14 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到7 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
道可到7 小时前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java