혼합 값 유형으로 JSON 배열 디코딩
경우에 따라 다양한 유형의 요소가 포함된 JSON 배열을 접할 수 있습니다. 예를 들면 다음과 같습니다.
{["NewYork",123]}
Go 배열의 경우 해당 유형을 명시적으로 지정해야 하는데, 이는 혼합 유형의 배열을 처리할 때 어려울 수 있습니다.
인터페이스를 사용한 솔루션{}
혼합 유형 배열을 처리하려면 모든 유형의 값을 허용하는 인터페이스 유형을 활용할 수 있습니다. Go에서 이를 달성하는 방법은 다음과 같습니다.
package main import ( "encoding/json" "fmt" ) type UntypedJson map[string][]interface{} func main() { j := `{"NYC": ["NewYork",123]}` ut := UntypedJson{} err := json.Unmarshal([]byte(j), &ut) if err != nil { fmt.Println(err) return } fmt.Printf("%#v", ut) }
참고: JSON 개체에는 키가 있어야 하므로 제공된 JSON 예제가 기술적으로 유효하지 않다는 점에 주목할 가치가 있습니다. 수정된 예는 다음과 같습니다.
{"NYC": ["NewYork",123]}
위 내용은 Go에서 혼합 데이터 유형을 사용하여 JSON 배열을 디코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!