Golang での JSON データ検証は、encoding/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 中国語 Web サイトの他の関連記事を参照してください。