> 백엔드 개발 > Golang > Go에서 동적 최상위 키를 사용하여 JSON을 구문 분석하는 방법은 무엇입니까?

Go에서 동적 최상위 키를 사용하여 JSON을 구문 분석하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-30 22:49:14
원래의
859명이 탐색했습니다.

How to Parse JSON with Dynamic Top-Level Keys in Go?

Golang에서 동적 키로 JSON 구문 분석

Golang에서는 동적 최상위 키로 JSON 문자열을 구문 분석하는 것이 어려울 수 있습니다. 다음 JSON을 고려하십시오.

{"bvu62fu6dq": {
    "name": "john",
    "age": 23,
    .....
    .....}
로그인 후 복사

"이름" 및 "나이" 값을 추출하려면 최상위 키가 고정된 필드가 아니기 때문에 사용자 지정 솔루션이 필요합니다.

Go 구조체 및 맵 사용

최적의 접근 방식은 내부 개체를 나타내는 구조체와 동적 최상위 키를 나타내는 맵을 정의하는 것입니다. 구조체에는 다음과 같은 원하는 속성에 대한 필드가 포함되어야 합니다.

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

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