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

这是我的接口代码

逻辑就是 通过 IBookService对象中的 list 函数获取数据列表

然后定义 state(响应状态) message(提示信息)

最后将这三个信息 做成对象返回给前端

接口访问结果

但是这种对象数组对存储空间消耗肯定是比字符串大很多的

所以 我们来尝试 将json数组转成字符串内容返回

我们先要注入依赖

xml 复制代码
<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>

然后 我们在需要使用的类中导包

java 复制代码
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;

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

java 复制代码
@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转换错误");
    }
}

简单说转换的代码就是

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

我们重新运行项目 访问接口

空口无凭 我们用前端调用试一下

运行结果如下

相关推荐
二哈喇子!7 分钟前
基于SpringBoot框架的网上购书系统的设计与实现
java·大数据·spring boot
2501_9445215934 分钟前
Flutter for OpenHarmony 微动漫App实战:推荐动漫实现
android·开发语言·前端·javascript·flutter·ecmascript
それども39 分钟前
@ConditionalOnWebApplication 作用
java
二哈喇子!40 分钟前
基于SSM框架的公交车查询系统的设计与实现
java·数据库·ssm
二哈喇子!1 小时前
基于JavaSE的淘宝卖鞋后端管理系统的设计与实现
java·spring boot·spring
小冷coding1 小时前
【Java】Dubbo 与 OpenFeign 的核心区别
java·开发语言·dubbo
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-智能考试系统-学习分析模块
java·开发语言·数据库·spring boot·ddd·tdd
cdut_suye1 小时前
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
java·数据库·c++·人工智能·python·机器学习·热榜
Amumu121381 小时前
Vue核心(三)
前端·javascript·vue.js
CoCo的编程之路1 小时前
2026 前端效能革命:如何利用智能助手实现“光速”页面构建?深度横评
前端·人工智能·ai编程·comate·智能编程助手·文心快码baiducomate