Golang에서는 동적 최상위 키로 JSON 문자열을 구문 분석하는 것이 어려울 수 있습니다. 다음 JSON을 고려하십시오.
{"bvu62fu6dq": { "name": "john", "age": 23, ..... .....}
"이름" 및 "나이" 값을 추출하려면 최상위 키가 고정된 필드가 아니기 때문에 사용자 지정 솔루션이 필요합니다.
최적의 접근 방식은 내부 개체를 나타내는 구조체와 동적 최상위 키를 나타내는 맵을 정의하는 것입니다. 구조체에는 다음과 같은 원하는 속성에 대한 필드가 포함되어야 합니다.
type Person struct { Name string `json:"name"` Age int `json:"age"` }
지도는 동적 최상위 키를 키로, Person 구조체를 값으로 사용할 수 있습니다. 이 구조를 사용하면 원하는 값에 효율적으로 액세스할 수 있습니다.
type Info map[string]Person
JSON을 사용자 정의 구조체로 디코딩하려면 json.Unmarshal 함수를 사용하세요. 디코딩되면 맵 키를 통해 값에 액세스할 수 있습니다.
var info Info json.Unmarshal([]byte(j), &info) fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)
이 접근 방식은 동적 최상위 키를 사용하여 JSON을 처리하는 유연하고 확장 가능한 방법을 제공하므로 원하는 속성에 쉽게 액세스할 수 있습니다.
위 내용은 Go에서 동적 최상위 키를 사용하여 JSON을 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!