Go 구조체를 사용하여 구조화되지 않은 JSON 처리(중복)
임의 키를 사용하여 구조화되지 않은 JSON 응답을 처리하는 맥락에서 Go를 생성하는 것이 가능합니다. 이 동적 데이터 구조를 수용하기 위한 구조체입니다.
제공된 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 } ] } } ] }
이 데이터를 처리하려면 제공된 답변에서 제안한 대로 맵을 사용하여 임의의 키를 나타낼 수 있습니다.
type Items map[string][]ImageUrl
Items는 이제 다음을 포함하는 Go 구조체입니다. 지도를 필드로 삼습니다. 지도의 키는 동적 이미지 크기를 나타내고 값은 개별 이미지 메타데이터를 나타내는 ImageUrl 구조체 목록입니다.
이 접근 방식을 사용하면 크기에 따라 이미지에 쉽게 액세스할 수 있습니다. 예를 들어, "50x100"에 대한 이미지 목록을 얻으려면:
item := Items{"thing": {}} item["50x100"]
이 접근 방식은 임의의 키를 사용하여 구조화되지 않은 JSON 데이터를 처리하기 위한 유연한 솔루션을 제공하므로 이를 Go 구조체로 직접 역마샬링할 수 있습니다.
위 내용은 Go에서 임의의 키를 사용하여 구조화되지 않은 JSON을 효과적으로 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!