알 수 없는 필드 이름이 포함된 JSON을 구조체로 비정렬화
문제:
JSON 데이터 비정렬화 JSON 응답의 구조가 일관적일 때 알 수 없는 필드 이름은 어려울 수 있지만 구체적인 필드 이름은 다양합니다.
해결책:
맵을 키-값 저장소로 활용하면 알 수 없는 필드 이름이 있는 인스턴스를 처리할 수 있습니다. 맵의 값은 JSON 데이터의 공통 구조를 나타내는 구조체여야 합니다.
예:
다음 JSON 구조를 가정합니다.
{ "unknown_field": { "known_field_1": [[1,2,3,4,5],[10,20,30,40,50],[100,200,300,400,500]], "known_field_2": [[11,21,31,41,51]], "known_field_3": [[12,22,32,42,52],[14,44,34,44,54]] } }
해당 바둑 구조체:
type mData struct { KnownField1 [][5]int `json:"known_field_1"` KnownField2 [][5]int `json:"known_field_2"` KnownField3 [][5]int `json:"known_field_3"` }
비마샬링 코드:
var data map[string]mData if err := json.Unmarshal(body, &data); err != nil { panic(err) } fmt.Println(data) for k, v := range data { fmt.Println(k, v) }
출력:
map[unknown_field:{[[1 2 3 4 5] [10 20 30 40 50] [100 200 300 400 500]] [[11 21 31 41 51]] [[12 22 32 42 52] [14 44 34 44 54]]}] unknown_field {[[1 2 3 4 5] [10 20 30 40 50] [100 200 300 400 500]] [[11 21 31 41 51]] [[12 22 32 42 52] [14 44 34 44 54]]}
지도 활용 , 코드는 알려진 구조체로 데이터를 정확하게 추출하는 동시에 알 수 없는 필드 이름을 효과적으로 처리합니다. 필드입니다.
위 내용은 Go에서 알 수 없는 필드 이름이 있는 JSON을 비정렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!