我有一个用 Go 编写的 Beam 管道,我想转换这个输入:{"name": "Bob", "age": 32}到一个有效的“对象”。go sdk的编码包中有这个功能:// UnmarshalJSON sets the state of this instance from the passed in JSON.func (w *EncodedType) UnmarshalJSON(buf []byte) error { var s string if err := json.Unmarshal(buf, &s); err != nil { return err } t, err := graphx.DecodeType(s) if err != nil { return err } w.T = t return nil}但我不明白如何将其用作我的管道的步骤。
1 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
你走在正确的轨道上。Go 没有与编程相关的正常意义上的“对象”。您将使用这样的结构:
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}您可以使用它来解组到该结构中,如下所示:
var myUser User
err := json.Unmarshal([]byte(`{"name": "Bob", "age": 32}`), &myUser)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(myUser.Name, myUser.Age)- 1 回答
- 0 关注
- 199 浏览
添加回答
举报
0/150
提交
取消
