>백엔드 개발 >Golang >Go에서 동적 키를 사용하여 JSON을 어떻게 비정렬화할 수 있나요?

Go에서 동적 키를 사용하여 JSON을 어떻게 비정렬화할 수 있나요?

DDD
DDD원래의
2024-12-11 02:58:09585검색

How Can I Unmarshal JSON with a Dynamic Key in Go?

Go를 사용하여 JSON에서 동적 키 역마샬링

JSON 데이터로 작업할 때 다음 중 하나에 해당하는 경우 구조체로 역마샬링하는 것이 어려울 수 있습니다. 키는 동적이며 구조체의 필드 이름에 직접 매핑될 수 없습니다. 이 문제를 해결하기 위한 실용적인 솔루션은 Golang에서 찾을 수 있습니다.

정의된 구조체:

type X struct {
  A string `json:"a_known_string"`
  B string `json:"b_known_string"`
}

및 샘플 JSON 문자열:

{
  "any string": {
    "a_known_string": "some value",
    "b_known_string": "another value"
  }
}

캡처하려면 JSON의 알려진 키와 동적 키 모두 맵을 활용할 수 있습니다.

var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)

이 접근 방식을 사용하면 다음이 가능합니다. 단일 동적 키 아래에 여러 개체를 저장하여 데이터 처리의 유연성을 제공합니다.

플레이그라운드 예시는 [여기](https://play.golang.org/p/jh-GAlUEo7n)에서 찾을 수 있습니다.

위 내용은 Go에서 동적 키를 사용하여 JSON을 어떻게 비정렬화할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.