我正在制作一个 JSON 验证函数,并且正在尝试实现它。但是,当我尝试将它们作为参数导入我的验证函数(位于另一个包中)时,我的结构出现了问题。
它在另一个包中的原因是因为我将在不同的路由文件中调用一个通用验证函数,所以我实际上不能在该包中包含任何结构,它们必须在路由文件中导入和定义。
type UsersJSON struct {
Users struct {
Put []UserJSON `json:"PUT"`
} `json:"users"`
}
type UserJSON struct {
display_name string `json:"display_name"`
username string `json:"username"`
email string `json:"email"`
password string `json:"password"`
}
func MyFunc(w http.ResponseWriter, r *http.Request) {
errors, _ := schema.Validate(data, r, UsersJSON)
}
func Validate(schemaHelper interface{}) (interface{}, error) {
file, err := os.Open("config/schema/schema.json")
if err != nil {
return nil, err
}
defer file.Close()
byteValue, _ := ioutil.ReadAll(file)
var helpers schemaHelper // this is the error
json.Unmarshal(byteValue, &helpers)
fmt.Printf("%v", helpers)
}
我的 JSON 架构如下所示:
{
"users": {
"PUT": {
}
}
}
我想让这个方法起作用,因为它使自动验证变得更容易和更快。
这不会编译并给出错误schemaHelper is not a type
知道我该如何解决这个问题吗?
www说
慕的地8271018
慕雪6442864
随时随地看视频慕课网APP
相关分类