json - Golang 未设置结构字段
问题描述
在 Golang 中,我在 Struct 下面有三个字段
type Person struct {
name string
age int
rank int
}
对于处理,我需要一个排名字段,但对于输出,我想从结构中排除排名字段,因为我直接将结构上方传递给 JSON 编码器以引发响应。
有什么方法可以从 Struct 中取消设置排名字段?
解决方案
要取消设置字段,请为其分配零值,例如:
var p Person
p.rank = 0
还要知道,如果要使用Person
JSON,则必须导出字段,未导出的字段不会被encoding/json
包处理,因此更改Person
为:
type Person struct {
Name string
Age int
rank int
}
仅此一项就会rank
从 JSON 处理中排除,因为它未导出。
如果您还需要导出rank
字段,则使用json:"-"
标签值从 JSON 处理中排除导出的字段:
type Person struct {
Name string
Age int
Rank int `json:"-"`
}
推荐阅读
- node.js - 如果阻塞操作被异步处理并导致阻塞进程队列,那么异步编程如何加快速度?
- visual-studio - 如何在不卸载的情况下将 Visual Studio 2017 更新 15.9 降级到 15.5
- lockbox-3 - 使用 TurboPower LickBox 从 p7m 文件中提取内容
- c# - 填充模型中的角色
- angular - 我应该以什么格式将购物车数据存储在本地存储中
- yii2 - Git 实验室准备 CI 脚本以自动部署到 yii2 中的服务器?
- java - 在接下来的 m 个月内生成 n 个约会
- angular - 错误类型错误:无法读取未定义的属性“模板”
- javascript - 不可变 js - Redux-Saga 按键查找项目并更新值
- javascript - 如何为 Node 和浏览器编写相同的现代 ES6+ 模块代码?