ですJSONに構造体を変換する私は2つの構造体の構造体を持っています。フィールドはOKですが、値は常に空です。出力は次のようになります。私は間違って何をやっているフィールドは別の構造体
{"foo": "some-string-value", "bar": {"zip": ""}}
?
ですJSONに構造体を変換する私は2つの構造体の構造体を持っています。フィールドはOKですが、値は常に空です。出力は次のようになります。私は間違って何をやっているフィールドは別の構造体
{"foo": "some-string-value", "bar": {"zip": ""}}
?
あなたのZipフィールドにAが設定されていません。
type A struct {
Zip string `json:"zip"`
}
type B struct {
Foo string `bson:"foo"`
Bar A `json:"bar"`
}
func main() {
one := A{"35000"}
two := B{"Foo", one}
json, _ := json.Marshal(two)
fmt.Printf("%s\n", json)
}
出力(https://play.golang.org/p/kyG1YabpSe)です:
{"Foo":"Foo","bar":{"zip":"35000"}}
でもマップと
type A struct {
Zip string `json:"zip"`
}
type B struct {
Foo string `bson:"foo"`
Bar A `json:"bar"`
}
func main() {
m := make(map[string]B)
for x := 0; x < 10; x++ {
m[strconv.Itoa(x)] = B{"Hello", A{"35000"}}
}
json, _ := json.Marshal(m)
fmt.Printf("%s\n", json)
}
https://play.golang.org/p/qCsmAGzo4H
出力は良いですが、あなたは間違っているところ、私は理解していません。
私は 'B'項目のマップを持っていて、' json.Marshal(myMap) 'しようとすると、' Bar'フィールドに空の文字列値が取り込まれます。 –
@DanielRibeiroあなたは問題が観察された正確なコードで質問を更新できますか?この質問には、 'myMap'や' B'のマップの記述はありません。 –
あなたは** Zip **フィールドにデータを入力していますか?そしてどうやって ? –
すべてのフィールドにデータが入力されます。「バー」には「A」のインスタンスが取り込まれます。そのインスタンスには 'Zip'が設定されています。 –
AのZipフィールドにデータが入力されていません。理由を見つけることに集中してください。 – Volker