发布时间:2026/8/25 22:34:01
【基于GO的Web开发9】gin框架返回json 一、JSON 渲染介绍在 Gin Web 开发中前后端交互最常返回 JSON 格式数据这个过程称为JSON 渲染。 核心 APIc.JSON(http状态码, 返回的数据)二、方法 1map 方式返回 JSON原生使用map[string]interface{}构造数据package main import ( net/http github.com/gin-gonic/gin ) func main() { r : gin.Default() r.GET(/json, func(c *gin.Context) { //原生map构造json数据 data : map[string]interface{}{ name: 小王子, message: hello world!, age: 18, } c.JSON(http.StatusOK, data) }) r.Run(:9090) }gin.H 快捷写法推荐gin.H本质就是map[string]interface{}省去手写 map 类型代码更简洁data : gin.H{ name: 小王子, message: hello world!, age: 18, } c.JSON(http.StatusOK, data)三、方法 2结构体方式返回 JSON核心原理结构体返回 JSON 本质是JSON 序列化gin 利用反射读取结构体字段。⚠️ 硬性规则结构体字段名首字母必须大写小写为私有字段反射读取不到JSON 不会输出该字段。基础示例package main import ( net/http github.com/gin-gonic/gin ) //定义结构体类型type关键字 type Msg struct { Name string Message string Age int } func main() { r : gin.Default() r.GET(/another_json, func(c *gin.Context) { data : Msg{ Name: 小王子, Message: Hello golang!, Age: 18, } c.JSON(http.StatusOK, data) }) r.Run(:9090) }运行后返回结果键名大写{Name:小王子,Message:Hello golang!,Age:18}结构体 Tag 标签定制 JSON 键名如果想要返回小写 key给字段添加json标签自定义输出名称。type Msg struct { Name string json:name Message string json:message Age int json:age }添加标签后返回结果{name:小王子,message:Hello golang!,age:18}四、两种方式对比总结gin.H / map适合数据少、结构灵活、字段不固定的场景结构体适合数据字段固定项目大、规范严格的场景代码可读性更高五、高频易错点结构体忘记使用type定义类型错写成var msg struct{}结构体字段首字母小写JSON 返回缺失字段忘记调用c.JSON()路由没有返回任何响应访问测试地址http://127.0.0.1:9090/json http://127.0.0.1:9090/another_json

相关新闻

2026/8/25 22:34:01

输电线路施工仿真软件选型指南

输电线路施工仿真软件选型指南:从道亨SLW3D到输电施工全过程计算 作者:自在天(讯图同辉架线施工仿真团队) 河南讯图同辉软件有限公司(www.xuntusoft.com)专注于输电架线仿真系统研发与输变电工程数字化 视频…

2026/8/25 22:34:01

树莓派快速上手笔记:6、驱动MAX30102

第 1 步:接线 MAX30102 模块引脚 接到树莓派物理引脚 图中位置 VIN 引脚 1(3.3V) 左列第 1 个(橙色) GND 引脚 6(Ground) 右列第 3 个(黑色) SDA 引脚 3(GPIO 2,I2C 数据线) 左列第 2 个(蓝色) SCL 引脚 5(GPIO 3,I2C 时钟线) 左列第 3 个(紫色) INT 不接 —…

2026/8/25 22:29:01

电站数据丢了能恢复吗?备份与恢复演练的工程清单

电站数据丢失,最常见的场景不是硬盘坏了,而是没人演练过恢复:网关重装、平台迁移、误删数据表,真出事时才发现备份没接上、恢复要一周。数据备份和恢复演练,应该像消防演练一样定期做。本文给出一份电站数据备份与恢复…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/25 23:59:31

基于微信小程序的篮球场馆预订系统(源码+LW+部署讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/25 23:59:31

缓存穿透、击穿与雪崩:原理、区别与Spring Boot+Redis实战解决方案

大家好,我是专注于后端技术分享的博主。在构建高并发系统时,缓存是提升性能、保护数据库的利器。然而,如果使用不当,缓存也可能成为系统稳定性的“阿喀琉斯之踵”。缓存穿透、击穿和雪崩是三个高频出现且极易混淆的故障场景&#…

2026/8/25 23:59:31

免费AI大模型调教指南:打造专属网文写作助手

1. 先搞清楚“AI小说扩展模式”到底能帮你做什么如果你是一个刚开始写网文、或者卡在L3级别以下的作者,最头疼的可能是情节推进不下去、人物对话干瘪,或者世界观设定不够丰满。自己对着空白文档硬憋,效率很低。这时候,一个能理解你…

2026/8/25 23:59:31

Hermes接入团队协作后,我推翻了三个效率假设

聊《Hermes真能提效吗?先看流程里最慢的那一步》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要团队把 Hermes 接进项目三个月后,交付速度没有提升反而慢了。复盘后发现,最先…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 0:04:32

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…