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

相关推荐
css趣多多43 分钟前
案例自定义tabBar
前端
姑苏洛言2 小时前
DeepSeek写微信转盘小程序需求文档,这不比产品经理强?
前端
林的快手2 小时前
CSS列表属性
前端·javascript·css·ajax·firefox·html5·safari
匹马夕阳3 小时前
ECharts极简入门
前端·信息可视化·echarts
API_technology3 小时前
电商API安全防护:JWT令牌与XSS防御实战
前端·安全·xss
yqcoder3 小时前
Express + MongoDB 实现在筛选时间段中用户名的模糊查询
java·前端·javascript
十八朵郁金香3 小时前
通俗易懂的DOM1级标准介绍
开发语言·前端·javascript
m0_528723814 小时前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer4 小时前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL5 小时前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas