Python에서는 구조체를 정의하지 않고도 JSON 개체에서 단일 값을 추출하는 것이 간단합니다. 반면 Go에서는 예상되는 JSON 구조를 나타내기 위해 구조체를 선언해야 합니다. 그러나 이 접근 방식은 특정 값만 얻기에는 번거로울 수 있습니다.
전용 구조체를 생성하는 대신 표준 json 패키지를 활용하여 JSON을 맵으로 디코딩할 수 있습니다. 문자열]인터페이스{}. 이를 통해 키로 값에 액세스할 수 있습니다.
import ( "encoding/json" "fmt" ) 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!