Heim >Backend-Entwicklung >Golang >Wie entmarshaliere ich ein JSON-Objekt in ein Array von Strukturen in Go?
Wie kann ich das folgende JSON in ein Array von Objekten in Go entmarshalieren? Sprache?
{ "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} }
Der bereitgestellte JSON erfordert einige B. das Hinzufügen von Kommas zwischen Schlüssel-Wert-Paaren im Objekt der obersten Ebene:
{ "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 } }
Um diesen JSON in ein Array von Objekten zu entmarshalieren, können Sie den folgenden Code verwenden:
type Monster struct { MonsterId int32 `json:"monster-id"` Level int32 `json:"level"` SkillLevel int32 `json:"skill-level"` AimerId int32 `json:"aimer-id"` } type MonsterCollection struct { Pool map[string]Monster } func (mc *MonsterCollection) FromJson(jsonStr string) error { var data =&mc.Pool b := []byte(jsonStr) return json.Unmarshal(b, data) }
In diesem Code:
Die Fehlerrückgabe ist für Debugging-Zwecke nützlich und ermöglicht es Ihnen, Fehler wie ungültige JSON-Syntax zu erkennen.
Ein funktionierendes Beispiel finden Sie hier auf dem Golang Playground: http://play.golang.org/p/4EaasS2VLL.
Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich ein JSON-Objekt in ein Array von Strukturen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!