Go에서 JSON 단일 값 구문 분석
JSON 데이터 구문 분석은 프로그래밍에서 일반적인 작업입니다. Python에서는 복잡한 데이터 구조 없이 JSON 개체에서 특정 값을 얻는 것이 간단합니다. 그러나 Go에서는 구조체를 사용하여 JSON 데이터를 처리하는 것이 더 일반적입니다.
Go 접근 방식:
Go에서는 전통적으로 JSON 개체와 일치하도록 구조체가 선언됩니다. json.Unmarshal 함수는 JSON을 구조체로 역마샬링하는 데 사용됩니다. 그러나 이 접근 방식은 특히 특정 값에만 관심이 있는 경우 장황하고 불편할 수 있습니다.
대체 접근 방식:
Go에서 JSON 구문 분석을 단순화하려면 다음 대안을 고려하세요. 접근 방식:
JSON을 map[string]인터페이스{}로 디코딩합니다. 이는 JSON 키를 해당 값에 다음과 같이 매핑합니다. 인터페이스{}.
[] 연산자를 사용하여 원하는 JSON 키와 연결된 값에 액세스합니다.
값이 예상 유형이 아닌 경우 유형 어설션을 사용하여 적절하게 처리합니다. .
예:
다음은 이를 보여주는 Go 예입니다. 접근 방식:
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") } }
이 예에서는 JSON을 맵으로 비정렬화한 다음 인쇄하기 전에 문자열에 형식으로 표시되는 "ask_price" 값을 추출합니다.
참고:
구조체는 Go에서 JSON 구문 분석에 계속 사용할 수 있지만 더 명확하고 더 명확할 수 있습니다. JSON에서 몇 가지 특정 값만 필요한 경우에는 필요하지 않습니다. 지도를 사용하는 대체 접근 방식은 JSON 데이터를 처리하는 더 간결하고 유연한 방법을 제공합니다.
위 내용은 Go에서 JSON의 단일 값을 어떻게 효율적으로 구문 분석할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!