지도를 사용하여 Go에서 동적 JSON 매핑
Go에서는 예측할 수 없는 키로 동적 JSON 응답을 매핑하는 것이 어려울 수 있습니다. 그러나 지도를 활용하면 유연한 솔루션이 제공됩니다.
키가 다양한 다음 JSON 응답을 고려하세요.
{ "items": [ {"name": "thing", "image_urls": { "50x100": [{ "url": "http://site.com/images/1/50x100.jpg", "width": 50, "height": 100 }, { "url": "http://site.com/images/2/50x100.jpg", "width": 50, "height": 100 }], "200x300": [{ "url": "http://site.com/images/1/200x300.jpg", "width": 200, "height": 300 }], "400x520": [{ "url": "http://site.com/images/1/400x520.jpg", "width": 400, "height": 520 }] } } ] }
이러한 동적 특성을 포착하려면 지도 기반 구조체를 생성하세요. Go의 맵은 임의의 키와 값을 허용하므로 이 시나리오에 이상적입니다.
type Items map[string][]ImageURL
여기서 Items 구조체는 문자열 키(다양한 JSON 키를 나타냄)와 [] 유형의 값이 있는 맵입니다. ImageURL.
이 구조체를 사용하려면 개별 이미지 항목에 대한 ImageURL 구조체를 정의하세요.
type ImageURL struct { URL string Width int Height int }
이제, JSON 응답을 Items 구조체로 직접 역정렬화할 수 있습니다.
err := json.Unmarshal(data, &items) if err != nil { // Handle error }
이 접근 방식은 동적 JSON 응답에 대한 유연한 매핑을 제공하므로 가능한 모든 키를 미리 정의할 필요 없이 데이터를 캡처할 수 있습니다.
위 내용은 Go에서 예측할 수 없는 키를 사용하여 동적 JSON 응답을 효율적으로 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!