当前位置: 首页 > news >正文

获取数据,转换成JSON,返回到前端页面

来源:豆包

获取数据,转换成JSON

import com.alibaba.fastjson.JSON;
import java.io.FileWriter;public class FastJsonExport {public static void main(String[] args) throws Exception {User user = new User();user.setName("李四");user.setAge(30);// 方式1:转为JSON字符串String jsonStr = JSON.toJSONString(user);System.out.println(jsonStr); // 输出:{"age":30,"name":"李四"}// 方式2:写入文件FileWriter writer = new FileWriter("user_fast.json");writer.write(jsonStr);writer.close();}
}

将上面方法进行改造:获取数据,转换成JSON,返回到前端页面

import com.alibaba.fastjson.JSON;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;@RestController
public class FastJsonExportController {// 前端访问该接口即可触发下载@GetMapping("/download/userJson")public void downloadUserJson(HttpServletResponse response) throws Exception {// 1. 构造数据(和原代码一致)User user = new User();user.setName("李四");user.setAge(30);String jsonStr = JSON.toJSONString(user);// 2. 设置响应头,告诉浏览器这是下载文件response.setContentType("application/json;charset=UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("user_fast.json", "UTF-8"));// 3. 写入响应流(无需本地文件,直接返回给前端)try (OutputStream os = response.getOutputStream()) {os.write(jsonStr.getBytes(StandardCharsets.UTF_8));os.flush();}}// 需确保 User 类有 getter/setter(或用 @Data 注解)static class User {private String name;private int age;// getter + setterpublic String getName() { return name; }public void setName(String name) { this.name = name; }public int getAge() { return age; }public void setAge(int age) { this.age = age; }}
}

 

http://www.gsyq.cn/news/51522.html

相关文章:

  • 2025年11月副业平台推荐榜:五强生态模式深度解析
  • 完整教程:MySQL 8.0.29 及以上版本中 SSL/TLS 会话复用(Session Reuse)
  • 红队、蓝队与紫队:网络安全攻防演练的三大支柱
  • 2025年11月副业平台评价榜:零门槛生态对比助你安全增收
  • 调整电话交换机 3CX 对接微软 Teams 直接路由
  • Pycharm为什么会自动创建__pycache__
  • 山东大学 计算机图形学实验 二维网格剖分 Catmull-Clark算法
  • 什么是“组态路径”?
  • 深入探索剖析 JVM 的启动过程
  • noip8多校2
  • 2025年11月冷媒剂厂家榜单:五强技术参数与口碑对比评测
  • 工业级时序数据库选型指南:技巧架构与场景化实践
  • 20232429 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • P5797 [SEERC 2019] Max or Min
  • 完整教程:【论文精读】Latent-Shift:基于时间偏移模块的高效文本生成视频技术
  • (链表)找单链表倒数第k个结点
  • 和为定值的子集数 25-11-16
  • 分布式监控体系:从指标采集到智能告警的完整之道 - 实践
  • hot 100 (1)—— 两数之和(哈希) - 指南
  • Day40(10)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project01\springboot-mybatis-quickstart
  • 还能回到原先吗 绞尽脑汁翻阅文献 这名为爱的实验 被等号连接
  • 2025年11月手动旗杆厂家口碑推荐榜单及选购指南
  • 2025年四川电动旗杆制造厂排行榜TOP5权威发布
  • debian sysctl: cannot open /etc/sysctl.conf: 没有那个文件或目录
  • mysql函数大全及举例 - 详解
  • P14507 缺零分治 mexdnc题解
  • Swagger开启账号验证访问
  • 标准解读——GB/T 46353—2025《信息技术 大数据 资料资产价值评估》国家标准
  • 代码背后的故事:docker容器名生成算法
  • 20232428 2025-2026-1 《网络与系统攻防技术》实验五实验报告