/ / Go Stratégie de nommage JSON sur les extensions - json, go

Stratégie de nommage JSON Go sur les extensions - json, go

Mon struct Go est comme ça:

type BaseModel struct {
Id          string    `json:"id"`
CreatedTime time.Time `json:"createdTime"`
UpdatedTime time.Time `json:"updatedTime"`
Deleted     bool      `json:"deleted"`
}

type Category struct {
BaseModel
Parent    string `json:"parent"`
Name      string `json:"name"`
IconClass string `json:"iconClass"`
Mark      string `json:"mark"`
}

Je veux convertir Category JSON comme ceci:

{
"id":"",
"deleted":"",
...
"parent":"",
"name":""
}

Mais quand j’utilise Go "s json pour le convertir, cela me donne ceci:

{
"Id":"",
"Deleted":"",
...
"parent":"",
"name":"",
...
}

Qu'est-ce que je devrais faire maintenant?

J'utilise sous code pour convertir:

// define
var menus []models.Category
// query from db
q.Filter("deleted__exact", false).All(&menus)
// serialize it
res, _ := json.Marshal(&menus)
s := string(res[:])
beego.Debug(s)

Réponses:

0 pour la réponse № 1

S'il vous plaît, ajoutez votre code de conversion ici. Le code ci-dessous fonctionne bien.

type BaseModel struct {
Id          string    `json:"id"`
CreatedTime time.Time `json:"createdTime"`
UpdatedTime time.Time `json:"updatedTime"`
Deleted     bool      `json:"deleted"`
}

type Category struct {
BaseModel
Parent    string `json:"parent"`
Name      string `json:"name"`
IconClass string `json:"iconClass"`
Mark      string `json:"mark"`
}

func main() {
data, err := json.Marshal(Category{})
if err != nil {
return
}

fmt.Println(string(data[:]))
}

Sortie:

{"id":"","createdTime":"0001-01-01T00:00:00Z","updatedTime":"0001-01-01T00:00:00Z","deleted":false,"parent":"","name":"","iconClass":"","mark":""}