我有一个用 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 关注
- 82 浏览
添加回答
举报
0/150
提交
取消