go语言`json:“-“`标签的含义

`json:"-"` 是 Go 语言中的一个标签(tag),用于指示编码和解码 JSON 时忽略对应的字段。

在 Go 中,结构体的字段可以通过添加标签来指定其在编码为 JSON 字符串或解码时的行为。`json:"-"` 标签的作用是告诉编码和解码过程忽略该字段,即不包含该字段的值。

例如,考虑以下结构体定义:

```go

type Person struct {

Name string `json:"name"`

Age int `json:"-"`

Email string `json:"email"`

}

```

在这个例子中,`Age` 字段的标签为 `json:"-"`,指示在编码为 JSON 时忽略该字段的值。而 `Name` 字段的标签为 `json:"name"`,`Email` 字段的标签为 `json:"email"`,它们指定了 JSON 字符串中对应字段的名称。

当使用 `encoding/json` 包中的函数进行 JSON 编码或解码时,会根据标签的指示来处理结构体的字段。在编码为 JSON 字符串时,`Age` 字段将被忽略,而 `Name` 和 `Email` 字段将包含在生成的 JSON 中。

示例:

```go

person := Person{

Name: "John",

Age: 30,

Email: "john@example.com",

}

data, _ := json.Marshal(person)

fmt.Println(string(data))

```

输出结果:

```json

{"name":"John","email":"john@example.com"}

```

可以看到,`Age` 字段被忽略,而 `Name` 和 `Email` 字段被编码为 JSON 字符串中的键值对。

相关推荐
ZJ_.3 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
GIS开发特训营8 分钟前
Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍
前端·vue.js·前端框架·gis开发·webgis·三维gis
Cachel wood34 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
学代码的小前端35 分钟前
0基础学前端-----CSS DAY9
前端·css
joan_8539 分钟前
layui表格templet图片渲染--模板字符串和字符串拼接
前端·javascript·layui
m0_748236111 小时前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248941 小时前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_748235612 小时前
从零开始学前端之HTML(三)
前端·html
一个处女座的程序猿O(∩_∩)O4 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js