Go에서 다음 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이 유효하려면 최상위 개체의 키-값 쌍 사이에 쉼표를 추가하는 등 일부 수정이 필요합니다.
{ "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을 객체 배열로 역마샬링하려면 다음을 사용할 수 있습니다. 코드:
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) }
이 코드에서:
오류 반환은 디버깅 목적에 유용하므로 잘못된 JSON 구문과 같은 오류를 감지할 수 있습니다.
실제 예제는 Golang Playground에서 찾을 수 있습니다: http: //play.golang.org/p/4EaasS2VLL.
위 내용은 Go에서 JSON 개체를 구조체 배열로 역마샬링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!