java springboot 实现 对象或对象数组 转为 前端可解析的JSON字符串格式

这是我的接口代码
在这里插入图片描述
逻辑就是 通过 IBookService对象中的 list 函数获取数据列表
然后定义 state(响应状态) message(提示信息)
最后将这三个信息 做成对象返回给前端
接口访问结果
在这里插入图片描述

但是这种对象数组对存储空间消耗肯定是比字符串大很多的
所以 我们来尝试 将json数组转成字符串内容返回
我们先要注入依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.12.3</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>

在这里插入图片描述
然后 我们在需要使用的类中导包

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;

然后 我们直接将代码改成这样

@GetMapping
public ResultUtil getAll() {
    List<book> BookList = IBookService.list();
    int state = BookList.isEmpty() ? 500 : 200;
    String message = BookList.isEmpty() ? "未获取到对应记录" : "操作成功";
    try {
        ObjectMapper objectMapper = new ObjectMapper();
        String json = objectMapper.writeValueAsString(BookList);
        return new ResultUtil(state, json, message);
    } catch (JsonProcessingException e) {
        e.printStackTrace();
        // 处理异常情况
        return new ResultUtil(500, null, "JSON转换错误");
    }
}

简单说转换的代码就是

try {
    ObjectMapper objectMapper = new ObjectMapper();
    String json = objectMapper.writeValueAsString(需要转字符串的 对象/对象数组);
} catch (JsonProcessingException e) {
    e.printStackTrace();
    // 处理异常情况
}

我们重新运行项目 访问接口
在这里插入图片描述
空口无凭 我们用前端调用试一下
在这里插入图片描述
运行结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值