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

相关推荐
桂月二二37 分钟前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
hunter2062062 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb2 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角2 小时前
CSS 颜色
前端·css
浪浪山小白兔3 小时前
HTML5 新表单属性详解
前端·html·html5
lee5763 小时前
npm run dev 时直接打开Chrome浏览器
前端·chrome·npm
2401_897579653 小时前
AI赋能Flutter开发:ScriptEcho助你高效构建跨端应用
前端·人工智能·flutter
limit for me4 小时前
react上增加错误边界 当存在错误时 不会显示白屏
前端·react.js·前端框架
浏览器爱好者4 小时前
如何构建一个简单的React应用?
前端·react.js·前端框架
qq_392794484 小时前
前端缓存策略:强缓存与协商缓存深度剖析
前端·缓存