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全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术
相关推荐
CoderYanger2 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
paopaokaka_luck2 小时前
基于Springboot3+Vue3的高校选课系统(AI选课助手、协同过滤算法、分享到微博、扣扣、Echarts图形化分析)
网络·spring boot·网络协议·echarts
灵极海2 小时前
LangChain4j RAG 实战完整指南:从入门到踩坑
java·langchain
yaoxin5211232 小时前
476. Java 反射 - 调用方法
java·开发语言
Ivanqhz3 小时前
Rust Lazy浅析
java·javascript·rust
bksczm3 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪3 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm
凤山老林4 小时前
SpringBoot实战:构建优雅的全局异常处理机制
java·springboot·异常处理
小Ti客栈4 小时前
Spring Boot 整合 Swagger2 和 Knife4j实现接口文档与可视化调试
java·spring boot·后端
梅头脑4 小时前
ThreadLocalMap里几十万个死Entry——排查了半天OOM,根因就一行finally没写
java