如何将json解组为Go结构并省略特定字段? The docs我可以使用json: "-"
标记字段以省略它,但这似乎没有做任何事情:
package main
import (
"encoding/json"
"fmt"
)
var data = []byte(`{"bar": true, "baz": true}`)
type Foo struct {
Bar bool `json: "bar"`
Baz bool `json: "-"`
}
func main() {
var foo Foo
json.Unmarshal(data, &foo)
fmt.Println(foo)
}
打印{true, true}
如果使用Baz
标记json: "-"
字段,我希望{true, false}
能够打印。出了什么问题?
答案 0 :(得分:4)
答案 1 :(得分:1)
另一个选项是to not export要省略的字段。请注意结构定义中的小写baz
:
package main
import (
"encoding/json"
"fmt"
)
var data = []byte(`{"bar": true, "baz": true}`)
type Foo struct {
Bar bool
baz bool
}
func main() {
var foo Foo
json.Unmarshal(data, &foo)
fmt.Println(foo)
}
打印
{true false}