如何验证 java 中的 JSON 模式?

How to validate JSON schema in java?

我尝试使用 JSON 架构检查用户详细信息对象。但我不知道如何检查 Java 中的 JSON 对象。

我的架构:

{
     "type" : "object",
     "properties" : {
     "first_name" : {
                     "type" : "string" , 
                     "minLength"  : 3 , 
                     "maxLength" : 255 
                  }, 
   "last_name" : {
                     "type" : "string" , 
                     "minLength"  : 3 , 
                     "maxLength" : 255 
                  },
    "age"       : { 
                     "type" : "integer" , 
                     "minimum" : 16 ,
                      "maximum" : 40
                  },
    "phone_number" : {
                        "type" : "integer",
                        "pattern" : "[6-9][0-9]{9}"
                     } ,
     "email"     : { 
                       "type" : "string",
                       "pattern" : "[a-z0-9]+"
                   } , 
     "password" : { 
                       "type" : "string" ,
                       "minLength" : 7 ,
                       "maxLength" : 255 ,
                       "pattern" : "^.{7, 255}$"
                  } , 
      "gender" : { "enum" : ["Male" , "Female"] }   
},

"required" : ["first_name","last_name" , "age"  ,"email" , "password" 
, "gender" ]
}

我的示例输入:

{
"first_name" : "Sample" ,
"last_name" : "Name" ,
"age"  : 19,
"gender" : "Male",
"phone_number"  :  9080245591,
"email" : "samplle@gmail.com",
"password" : "uni=versity"
}

任何人都可以说出如何使用 Java 中的 JSON 模式检查此输入。

GitHub中的json-schema-validator,也许它会帮助你检查java中的json对象。

您可以将 FasterXML jackson 与 holten 提议的 module:json-schema-validator 一起使用。

将其包含在 maven 中: com.github.java-json-工具 json-模式验证器 2.2.8

对此的补充,要从对象生成模式而不是手动编写它,您还可以使用另一个模块: https://github.com/FasterXML/jackson-module-jsonSchema

如果需要我可以添加一个功能示例