我有一個用 Go 編寫的 Beam 管道,我想轉(zhuǎn)換這個輸入:{"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條經(jīng)驗 獲得超4個贊
你走在正確的軌道上。Go 沒有與編程相關的正常意義上的“對象”。您將使用這樣的結(jié)構(gòu):
????type?User?struct?{ ????????Name????string?`json:"name"` ????????Age?????int????`json:"age"` ????}
您可以使用它來解組到該結(jié)構(gòu)中,如下所示:
????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 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消