猿问

如何在go中从json中删除字段?

我的代码中有这个结构。


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"`

}

我正在构建一个网络服务,我不需要App在 JSON 中发送该字段。我已经尝试了一些方法来从 JSON 中删除该字段,但我一直无法做到。


我怎样才能做到这一点?有没有办法将结构设置为空?


我使用 GORM 作为数据库访问层,所以我不确定我是否可以这样做App *App,你知道它是否有效吗?


慕的地8271018
浏览 640回答 2
2回答

千巷猫影

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"`}

紫衣仙女

您应该能够将您的数据结构包装到一个隐藏 app 字段的自定义类型中:type ExportAppVersion struct {   AppVersion   App `json:"-"`}这应该隐藏该App字段不被暴露。
随时随地看视频慕课网APP

相关分类

Go
我要回答