Golang에서 JSON 데이터를 사용자 정의 데이터 구조로 구문 분석하는 것은 간단할 수 있습니다. JSON 파일에 동적 키가 있는 객체 배열이 포함되어 있는 시나리오를 생각해 보세요.
[ {"a" : "1"}, {"b" : "2"}, {"c" : "3"} ]
이 JSON을 map[string]string으로 구문 분석하려고 하면 오류가 발생할 수 있습니다.
import ( "encoding/json" "io/ioutil" "log" ) type data map[string]string func main() { c, _ := ioutil.ReadFile("test.json") dec := json.NewDecoder(bytes.NewReader(c)) var d data dec.Decode(&d) // error: cannot unmarshal array into Go value of type data }
이 문제를 해결하고 JSON 배열을 구문 분석하기 위해 사용자 정의 유형 mytype이 맵 배열로 정의됩니다.
type mytype []map[string]string
정의하여 데이터 구조를 맵 조각으로 분석하면 JSON 배열을 그에 따라 구문 분석할 수 있습니다.
import ( "encoding/json" "fmt" "io/ioutil" "log" ) func main() { var data mytype file, err := ioutil.ReadFile("test.json") if err != nil { log.Fatal(err) } err = json.Unmarshal(file, &data) if err != nil { log.Fatal(err) } fmt.Println(data) }
이 접근 방식을 사용하면 동적 키가 있는 JSON 배열을 Go 데이터 구조로 구문 분석할 수 있습니다.
위 내용은 동적 키를 사용하여 JSON 배열을 Go 데이터 구조로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!