在元帅期间包括字段,但在元帅期间不包括

时间:2019-02-07 11:07:15

标签: json go

我想在注册过程中加入password字段,但是不想在请求用户个人资料详细信息时显示出来。

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    UserName string `json:"username"`
    Password string `json:"-"`
}

func main() {
    data := []byte( `{"username": "username","password": "password"}`)
    user := User{}
    _ = json.Unmarshal(data, &user)

    user.Password = "password"
    user.UserName = "username"

    data, _ = json.Marshal(&user)
    fmt.Println(user)
    fmt.Println(string(data))
}

我想做这样的事情:

Unmarshal result

{username password}

Marshal result

{"username":"username"}

1 个答案:

答案 0 :(得分:3)

您可以为User结构编写自己的自定义Json marshaller和unmarshaller。 检查此去操场链接: https://play.golang.org/p/ejmX9iDlvKk