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


    🙈作者简介:练习时长两年半的Java up主
    🙉个人主页:程序员老茶
    🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
    📚系列专栏:Java全栈,计算机系列(火速更新中)
    💭 格言:种一棵树最好的时间是十年前,其次是现在
    🏡动动小手,点个关注不迷路,感谢宝子们一键三连

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

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

    1. Java对象转换为Json对象

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

    <dependency>
        <groupId>com.fasterxml.jackson.coregroupId>
        <artifactId>jackson-databindartifactId>
        <version>2.12.5version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    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();
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    其中,Person类如下:

    public class Person {
        private String name;
        private int age;
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        // getter和setter方法省略...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2. Json对象转换为Java对象

    与Java对象转换为Json对象类似,我们也可以使用ObjectMapper类将Json对象转换为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();
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

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

    往期专栏
    Java全栈开发
    数据结构与算法
    计算机组成原理
    操作系统
    数据库系统
    物联网控制原理与技术
  • 相关阅读:
    .NetCore中使用分布式事务DTM的二阶段消息
    [云原生] Prometheus自动服务发现部署
    Redis:报错Creating Server TCP listening socket *:6379: bind: No error
    Linux提权
    【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 机器人搬砖(100分) - 三语言AC题解(Python/Java/Cpp)
    基于tauri打造的HTTP API客户端工具-CyberAPI
    tp6使用redis消息队列
    PHP 创建 MySQL 表
    Vue3 使用动态组件 component
    Linux 进程管理指南
  • 原文地址:https://blog.csdn.net/qq_53431712/article/details/132813668