Viper/JSON 언마샬링의 동적 키 처리
미리 결정된 형식에서 벗어난 JSON 데이터를 처리할 때 Go에서 언마샬링하는 것이 어려울 수 있습니다. . 다음과 같이 동적 키가 있는 JSON 구성 파일을 고려해 보세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
이 데이터를 동적 키가 있는 Go 구조체로 역마샬링하려면 맵을 활용하는 것이 한 가지 접근 방식입니다.
1 2 3 4 5 6 7 8 |
|
map[string]Thing을 사용하면 결과 구조체가 원하는 수의 동적 키를 처리할 수 있습니다. 다음을 사용하여 데이터 역마샬링을 수행합니다.
1 2 3 4 |
|
이 접근 방식을 사용하면 JSON과 Viper 모두에서 동적 키를 간단하게 역마샬링할 수 있습니다(viper.Get("things")를 사용하여 Thing 값의 배열 가져오기).
그러나 키 자체가 구조체의 멤버여야 하는 경우 정렬 해제 후 루프를 사용하여 업데이트할 수 있습니다. fields:
1 2 3 4 5 6 7 8 9 10 11 |
|
이를 통해 JSON 데이터의 원래 동적 특성을 유지하면서 키를 구조체에 통합할 수 있습니다.
위 내용은 Go에서 동적 키를 사용하여 JSON을 역정렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!