は(もhttps://play.golang.org/p/or7z4Xc8tN参照)の例である:ここに埋め込まれた構造体の多JSONのアンマーシャル
package main
import (
"encoding/json"
"fmt"
)
type A struct {
X string
Y int
}
type B struct {
A
Y string
}
func main() {
data := []byte(`{"X": "me", "Y": "hi"}`)
b := &B{}
json.Unmarshal(data, b)
fmt.Println(b)
fmt.Println(b.A)
b = &B{}
data = []byte(`{"X": "me", "Y": 123}`)
json.Unmarshal(data, b)
fmt.Println(b)
fmt.Println(b.A)
}
出力:
&{{me 0} hi}
{me 0}
&{{me 0} }
{me 0}
をいずれかのint型にフィールドアンマーシャリングYをポリモーフィックする方法はありますまたは文字列ですか?また、B.Yが定義されているので、A.Yに非マーシャルさえできますか?
私は、json.Unmarshall(data, &b.A)
のようなものでアンマーシャリングすることを提案するかもしれませんが、私はそれを現在のデザインに適合させることができるかどうかはわかりません。
多分help https://stackoverflow.com/questions/32428797/unmarshal-to-a-interface-type –