Go에서 효율적인 JSON 단일 값 구문 분석
Python에서는 제공된 예제에 설명된 것처럼 JSON 객체의 특정 값에 액세스하는 것이 간단합니다. 예:
res = res.json() return res['results'][0]
그러나 Go에서는 다음을 선언하는 데 더 장황한 접근 방식이 필요합니다. JSON을 구조화하고 그 안에 역마샬링:
type Quotes struct { AskPrice string `json:"ask_price"` } quote := new(Quotes) errJson := json.Unmarshal(content, "e) if errJson != nil { return "nil", fmt.Errorf("cannot read json body: %v", errJson) }
Go에서 더 큰 단순성을 위해 JSON을 map[string]인터페이스{}로 디코딩하고 해당 키로 원하는 값에 액세스하는 것을 고려하십시오.
func main() { b := []byte(`{"ask_price":"1.0"}`) data := make(map[string]interface{}) err := json.Unmarshal(b, &data) if err != nil { panic(err) } if price, ok := data["ask_price"].(string); ok { fmt.Println(price) } else { panic("wrong type") } }
맵은 유연성을 제공하지만 명시적인 유형 선언으로 인해 구조체가 여전히 선호됩니다. 유형 어설션이 필요하지 않아 코드가 단순화됩니다.
위 내용은 Go에서 단일 JSON 값을 효율적으로 구문 분석하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!