GIN框架:自定义结构体到出JSON格式

2023-11-21 10:44

本文主要是介绍GIN框架:自定义结构体到出JSON格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先自定义结构体的赋值以及到出
在 Go 语言中,json:"errorMsg" 是一个 struct tag,用于定义结构体字段在被序列化成 JSON 格式时的名称。如果你在定义结构体字段时添加了这个 tag,那么在将结构体实例序列化为 JSON 格式时,该字段将以 “errorMsg” 作为键名;而不添加这个 tag,则默认会使用字段名作为键名。

举个例子,假设有以下结构体定义:

type Response struct {ErrorCode string      `json:"errorCode"`ErrorMsg  string      `json:"errorMsg"`Data      interface{} `json:"data"`
}

如果你创建了一个 Response 实例并将其序列化成 JSON 格式,结果可能如下:

{"errorCode": "1001","errorMsg": "Something went wrong","data": {...}
}

可以看到,由于添加了 json:"errorMsg" tag,ErrorMsg 字段被序列化为 JSON 时的键名为
“errorMsg”。

package APItype ApiResponseObject struct {ErrorCode string      `json:"errorCode"`ErrorMsg  string      `json:"errorMsg"`Data      interface{} `json:"data"`
}func (response *ApiResponseObject) GetErrorCode() string {return response.ErrorCode
}func (response *ApiResponseObject) SetErrorCode(errorCode string) {response.ErrorCode = errorCode
}func (response *ApiResponseObject) GetErrorMsg() string {return response.ErrorMsg
}func (response *ApiResponseObject) SetErrorMsg(errorMsg string) {response.ErrorMsg = errorMsg
}func (response *ApiResponseObject) GetData() interface{} {return response.Data
}func (response *ApiResponseObject) SetData(data interface{}) {response.Data = data
}

集合导出方法

package servicesimport API "awesomeProject4/common"func ReponseJSON(errorCode string, errorMsg string, resData interface{}) API.ApiResponseObject {apiResponseObject := API.ApiResponseObject{}apiResponseObject.SetData(resData)apiResponseObject.SetErrorMsg(errorMsg)apiResponseObject.SetErrorCode(errorCode)return apiResponseObject
}

使用如果不引如 json:"键名"会到出ctx.json输出为空

ctx.JSON(http.StatusOK, ReponseJSON(API.SUCCESS.GetCode(), API.SUCCESS.GetName(), user))

这篇关于GIN框架:自定义结构体到出JSON格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/401845

相关文章

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子