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

news/2024/10/17 10:25:59/

这是我的接口代码
在这里插入图片描述
逻辑就是 通过 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();// 处理异常情况
}

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


http://www.ppmy.cn/news/1158630.html

相关文章

Ubuntu 16.04 LTS third maintenance update release

Ubuntu 16.04 LTS (Xenial Xerus)今天迎来的第三个维护版本更新中&#xff0c;已经基于Linux Kernel 4.10内核&#xff0c;而且Mesa图形栈已经升级至17.0版本。Adam Conrad表示&#xff1a;“像此前LTS系列相似&#xff0c;16.04.3对那些使用更新硬件的用户带来了硬件优化。该版…

【Flutter】第一篇基础:站在一名前端开发者的角度看代框架

Flutter Flutter 是一个跨平台的 UI 工具集&#xff0c;它的设计初衷&#xff0c;就是允许在各种操作系统上复用同样的代码&#xff0c;例如 iOS 和 Android&#xff0c;同时让应用程序可以直接与底层平台服务进行交互。如此设计是为了让开发者能够在不同的平台上&#xff0c;…

Linux学习——进程状态

目录 一&#xff0c;进程状态 1&#xff0c;进程状态的分类 2.状态的本质 3.进程状态详解 1.运行状态 2.阻塞状态 3.挂起状态 4.Linux内核中的状态分类 一&#xff0c;进程状态 1&#xff0c;进程状态的分类 如下图&#xff1a; 在计算机中我们的状态的分类便如下图所示…

nginx优化和防盗链

隐藏版本号&#xff1a;在http大模块中修改 不在server中 也不是location 第二种&#xff1a;改源码包 文件在这&#xff1a; nginx日志分割&#xff1a;nginx没有自带日志分割功能 通过脚本实现日志分割 按照时间分割 每天生成一个新的日志 新建一个nginxlog.sh Kill 没有e …

解决ModuleNotFoundError: No module named ‘caffe‘

1、安装环境 conda create -n caffe_env python3.6.10 conda activate caffe_env conda install -c defaults caffe-gpuList item 2、测试 (caffe_env) useruser-Ubuntu:~/caffe_env$ python Python 3.6.10 |Anaconda, Inc.| (default, May 5 2021, 11:02:1) [GCC 8.3.0] o…

2023年中国机场建设标准、机场数量及机场系统投资完成情况分析[图]

机场&#xff0c;亦称飞机场、空港&#xff0c;较正式的名称是航空站。机场有不同的大小&#xff0c;除了跑道之外&#xff0c;机场通常还设有塔台、停机坪、航空客运站、维修厂等设施&#xff0c;并提供机场管制服务、空中交通管制等其他服务。 机场建设资质等级标准 资料来源…

【前段基础入门之】=>CSS3新特性 3D 变换

导语 在上一章节中&#xff0c;我们分享了2D 变换的效果&#xff0c;也分享了一些案例&#xff0c;同时&#xff0c;既然有2D 变换&#xff0c;那么也就肯定有 3D 变换 那么本章节&#xff0c;就为大家带来有关3D 变换的分享. 文章目录 开启3D空间设置景深透视点位置3D 位移3D …

面试题-React(十三):React中获取Refs的几种方式

一、Refs的基本概念 Refs是React提供的一种访问DOM元素或组件实例的方式。通过Refs&#xff0c;我们可以在React中获取到底层的DOM节点或组件实例&#xff0c;并进行一些操作。Refs的使用场景包括但不限于&#xff1a;访问DOM属性、调用组件方法、获取输入框的值等。 二、获取…