如何在java中验证JSON模式?

时间:2018-01-17 07:25:15

标签: java json jsonschema

我尝试使用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模式检查此输入。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你可以使用FasterXML jackson和模块:json-schema-validator作为holten提议。

将其包含在maven中:     com.github.java JSON的工具     JSON-架构验证     2.2.8

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

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