Go를 사용하여 JSON HTTP 응답 구문 분석
Golang의 HTTP 요청에서 JSON 응답을 구문 분석하려면 JSON 디코딩을 사용하여 응답 본문을 JSON 구조를 반영하는 구조체로 변환합니다.
코드 예
다음 코드는 "ip" 값을 얻기 위해 중첩된 구조체가 포함된 JSON 응답을 구문 분석하는 방법을 보여줍니다.
package main import ( "bytes" "encoding/json" "fmt" "log" "net/http" "time" ) type Example struct { Type string `json:"type,omitempty"` Subsets []Subset `json:"subsets,omitempty"` } type Subset struct { Addresses []Address `json:"addresses,omitempty"` } type Address struct { IP string `json:"IP,omitempty"` } func main() { m := []byte(`{ "type": "example", "data": { "name": "abc", "labels": { "key": "value" } }, "subsets": [ { "addresses": [ { "ip": "192.168.103.178" } ], "ports": [ { "port": 80 } ] } ] }`) r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val) if err != nil { log.Fatal(err) } // Iterate over subsets and addresses to access each IP for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
JSON 디코딩을 활용하여 다음과 같은 구조체를 생성합니다. JSON 구조를 미러링하면 "ip" 필드와 같은 중첩 요소를 포함하여 응답 내의 데이터에 동적으로 액세스하고 구문 분석할 수 있습니다.
위 내용은 Go에서 중첩된 JSON HTTP 응답을 어떻게 구문 분석하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!