英文:
How to remove fields from json in go?
问题
我在代码中有这个结构体。
type AppVersion struct {
Id int64 `json:"id"`
App App `json:"app,omitempty" out:"false"`
AppId int64 `sql:"not null" json:"app_id"`
Version string `sql:"not null" json:"version"`
Sessions []Session `json:"-"`
SessionsCount int `sql:"-"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt time.Time `json:"deleted_at"`
}
我正在构建一个 Web 服务,我不需要在 JSON 中发送 App
字段。
我尝试了一些方法来从 JSON 中删除该字段,但是我没有成功。
我该如何实现这个目标?
有没有办法将结构体设置为空?
我正在使用 GORM 作为数据库访问层,所以我不确定是否可以使用 App *App
,你知道这样是否可行吗?
英文:
I've this struct in my code.
type AppVersion struct {
Id int64 `json:"id"`
App App `json:"app,omitempty" out:"false"`
AppId int64 `sql:"not null" json:"app_id"`
Version string `sql:"not null" json:"version"`
Sessions []Session `json:"-"`
SessionsCount int `sql:"-"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt time.Time `json:"deleted_at"`
}
I'm building a webservice and I don't need to send the App
field in the JSON.
I've tried a few things to remove the field from the JSON but I haven't been able to do it.
How can I achieve this?
Is there any way to set struct as empty?
I'm using GORM as database access layer, so I'm not sure if I can do App *App
, do you know if it will work?
答案1
得分: 2
类型 AppVersion 结构体 {
Id int64 json:"id"
App App json:"-"
AppId int64 sql:"not null" json:"app_id"
Version string sql:"not null" json:"version"
Sessions []Session json:"-"
SessionsCount int sql:"-"
CreatedAt time.Time json:"created_at"
UpdatedAt time.Time json:"updated_at"
DeletedAt time.Time json:"deleted_at"
}
更多信息 - json-go
英文:
type AppVersion struct {
Id int64 `json:"id"`
App App `json:"-"`
AppId int64 `sql:"not null" json:"app_id"`
Version string `sql:"not null" json:"version"`
Sessions []Session `json:"-"`
SessionsCount int `sql:"-"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt time.Time `json:"deleted_at"`
}
More info - json-go
答案2
得分: 1
你应该能够将你的数据结构封装到一个自定义类型中,该类型隐藏了App
字段:
type ExportAppVersion struct {
AppVersion
App `json:"-"`
}
这样就可以隐藏App
字段,不会被暴露出来。
英文:
You should be able to wrap your data structure into a custom type which hides the app field:
type ExportAppVersion struct {
AppVersion
App `json:"-"`
}
This should hide the App
field from being exposed.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论