Golang의 JSON 데이터 유효성 검사는 인코딩/json 패키지의 Unmarshal 함수를 사용하여 JSON 데이터를 JSON 구조에 해당하는 Go 구조체로 디코딩함으로써 수행할 수 있습니다. 단계는 다음과 같습니다. JSON 데이터 구조에 해당하는 구조체를 정의합니다. 검증 청사진으로. Unmarshal 함수를 사용하여 구조체 유형과 호환되는지 디코딩하고 확인합니다. 보다 복잡한 유효성 검사를 위해서는 사용자 정의 유효성 검사 함수를 작성하세요.
JSON(JavaScript Object Notation)은 데이터 교환을 위해 가볍고 널리 사용되는 형식입니다. Golang에서는 encoding/json
패키지를 사용하여 JSON 데이터의 유효성을 검사할 수 있습니다. encoding/json
包对 JSON 数据进行验证。
import ( "encoding/json" "log" )
首先,我们需要定义一个与 JSON 数据结构相对应的 Go struct。这将充当验证的蓝图。
type User struct { Name string `json:"name"` Age int `json:"age"` Email string `json:"email"` IsAdmin bool `json:"is_admin"` }
现在,我们可以使用 encoding/json
包提供的 Unmarshal
函数将 JSON 数据解码到我们的 struct 中:
func validateJSON(jsonString string) (User, error) { var user User if err := json.Unmarshal([]byte(jsonString), &user); err != nil { log.Printf("Error unmarshaling JSON: %v", err) return User{}, err } return user, nil }
让我们考虑一个包含以下 JSON 数据的字符串:
{ "name": "Alice", "age": 25, "email": "alice@example.com", "is_admin": false }
我们可以使用 validateJSON
函数对其进行验证:
jsonString := `{ "name": "Alice", "age": 25, "email": "alice@example.com", "is_admin": false }` user, err := validateJSON(jsonString) if err != nil { log.Fatal(err) } fmt.Println("Validated user:", user) // 输出:Validated user: {Alice 25 alice@example.com false}
Unmarshal
encoding/json
패키지에서 제공하는 Unmarshal
함수를 사용하여 JSON 데이터를 구조체로 디코딩할 수 있습니다. : 🎜rrreeevalidateJSON
함수를 사용하여 유효성을 검사할 수 있습니다. 🎜rrreeeUnmarshal
함수를 사용하면 데이터가 Go 구조체의 유형과 호환되는지 확인할 수 있습니다. 보다 복잡한 검증을 위해서는 사용자 정의 검증 함수를 작성해야 합니다. 🎜위 내용은 Golang에서 JSON 데이터의 유효성을 검사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!