次の JSON データを考えてみましょう:
{ "1001":{ "level":10, "monster-id":1001, "skill-level":1, "aimer-id":301 }, "1002":{ "level":12, "monster-id":1002, "skill-level":1, "aimer-id":302 }, "1003":{ "level":16, "monster-id":1003, "skill-level":2, "aimer-id":303 } }
目標は、この JSON を Monster オブジェクトの配列にアンマーシャリングすることです。
type Monster struct { MonsterId int32 Level int32 SkillLevel int32 AimerId int32 }
これを実現するには、次の手順に従います:
type MonsterCollection struct { Pool map[string]Monster }
func (mc *MonsterCollection) FromJson(jsonStr string) error { var data *map[string]Monster b := []byte(jsonStr) return json.Unmarshal(b, &data) }
type Monster struct { MonsterId int32 `json:"monster-id"` Level int32 `json:"level"` SkillLevel int32 `json:"skill-level"` AimerId int32 `json:"aimer-id"` }
mc := new(MonsterCollection) err := mc.FromJson(jsonStr)
for id, monster := range mc.Pool { fmt.Println(id, monster) }
これらの手順に従うと、ネストされた JSON データを Go の Monster オブジェクトの配列にアンマーシャリングできます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3