SpringBoot使用ObjectMapper

[!NOTE]

本教程是《SpringBoot系列基础教程》之一,教程目录:https://blog.csdn.net/laisc7301/article/details/135918617

整个项目的文件结构如下图所示:

在这里插入图片描述

添加以下依赖:

整个项目的文件结构如下图所示:

application.properties文件内容如下所示:

server.port=8001

贴出代码,代码里的注释已经说明清楚了。

TestController.java

package org.laisc.example6.controller;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.laisc.example6.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/test")
public class TestController {

    @Autowired
    ObjectMapper objectMapper;

    @ResponseBody
    @RequestMapping("/tojson")
    public String tojson() throws JsonProcessingException { //将user对象转化为JSON格式数据
        User user = new User(1, "admin", "admin123","root");
        String value = objectMapper.writeValueAsString(user);
        return value;
    }

    @RequestMapping("/toobj")
    @ResponseBody
    public String toObj() throws JsonProcessingException { //将JSON格式数据转化为user对象
        String jsonText = "{" +
                "\"id\": 1," +
                "\"username\": \"user111\"," +
                "\"password\": \"user1234\"," +
                "\"role\": \"user\"" +
                "}";
        User u = objectMapper.readValue(jsonText, User.class);
        return u.toString();
    }
}

User.java

package org.laisc.example6.entity;

public class User {
    private Integer id = null;
    private String username= "";
    private String password= "";
    private String role= "";

    public User() {
    }

    public User(Integer id, String username, String password, String role) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.role = role;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", role='" + role + '\'' +
                '}';
    }
}

项目源代码下载:https://pan.baidu.com/s/14t1rP8L1UvIeZtlfTMXLTQ?pwd=kvm8

原文:https://laisc7301.github.io/blog/2024/01/24/202401240000SpringBoot%E4%BD%BF%E7%94%A8ObjectMapper/

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值