简化示例
假设我有一个用于解组一些 json 的结构:
type DataEntry struct {
FirstName string `json:"first"`
LastName string `json:"last"`
FullName string
}
我想填充该FullName属性的内容是FirstName + LastName.
我目前正在做的是为 DataEntry 定义一个方法,它执行以下类型的计算:
func (de *DataEntry) Compute() {
de.FullName = de.FirstName + " " + de.LastName
}
并在从 JSON 填充结构体后调用 if:
// Grab data
request, _ := http.Get("http://........")
var entry DataEntry
dec := json.NewDecoder(request.Body)
dec.Decode(&entry)
// Compute the computed fields
entry.Compute()
有一个更好的方法吗?我可以使用 create my ownUnmarshalJSON并将其用作触发器来自动计算该FullName字段吗?
跃然一笑
相关分类