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全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术
相关推荐
enjoy编程几秒前
Spring-AI 利用KeywordMetadataEnricher & SummaryMetadataEnricher 构建文本智能元数据
java·人工智能·spring
繁华似锦respect几秒前
lambda表达式中的循环引用问题详解
java·开发语言·c++·单例模式·设计模式·哈希算法·散列表
heartbeat..17 分钟前
介绍一下软件开发中常见的几种的架构模式
java·架构·开发
天天摸鱼的小学生19 分钟前
【Java Enum枚举】
java·开发语言
爬山算法32 分钟前
Redis(168) 如何使用Redis实现会话管理?
java·数据库·redis
程语有云37 分钟前
生产事故-那些年遇到过的OOM
java·内存·oom·生产事故
雨中飘荡的记忆40 分钟前
Spring Test详解
java·后端·spring
sugar__salt1 小时前
网络编程套接字(二)——TCP
java·网络·网络协议·tcp/ip·java-ee·javaee
颜颜yan_1 小时前
跨越x86与ARM:openEuler全架构算力实战评测
java·arm开发·架构