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 字符串中的键值对。

相关推荐
黎明初时1 分钟前
react基础框架搭建4-tailwindcss配置:react+router+redux+axios+Tailwind+webpack
前端·react.js·webpack·前端框架
小沐°2 分钟前
vue3-父子组件通信
前端·javascript·vue.js
铅笔侠_小龙虾3 分钟前
Ubuntu 搭建前端环境&Vue实战
linux·前端·ubuntu·vue
yuhaiqun19895 分钟前
发现前端性能瓶颈的巧妙方法:建立“现象归因→分析定位→优化验证”的闭环思维
前端·经验分享·笔记·python·学习·课程设计·学习方法
树叶会结冰14 分钟前
TypeScript---循环:要学会原地踏步,更要学会跳出舒适圈
前端·javascript·typescript
唐叔在学习29 分钟前
前端响应式设计实践:布局与字体自适应方案
前端·响应式设计
海云前端133 分钟前
如果要设计一个开源的Code EditorSDK,你会向开发者暴露哪些API?
前端
Access开发易登软件43 分钟前
Access 数据可视化:如何制作箱形图
前端·数据库·vba·access·access开发
Tiramisu20231 小时前
【VUE】删除 node_modules几种高效方法
前端·javascript·vue.js
钰fly1 小时前
Windows Forms开发工具与功能总结表
前端·c#