> 백엔드 개발 > Golang > Go에서 임의의 키를 사용하여 구조화되지 않은 JSON을 효과적으로 처리하려면 어떻게 해야 합니까?

Go에서 임의의 키를 사용하여 구조화되지 않은 JSON을 효과적으로 처리하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-11-27 09:36:11
원래의
627명이 탐색했습니다.

How Can I Effectively Handle Unstructured JSON with Arbitrary Keys in Go?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿