首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中验证JSON模式?

如何在java中验证JSON模式?
EN

Stack Overflow用户
提问于 2018-01-17 15:25:15
回答 2查看 46.1K关注 0票数 13

我尝试使用JSON模式检查用户详细信息对象。但是我不知道如何在Java中检查JSON对象。

我的架构:

代码语言:javascript
运行
复制
{
     "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" ]
}

我的示例输入:

代码语言:javascript
运行
复制
{
"first_name" : "Sample" ,
"last_name" : "Name" ,
"age"  : 19,
"gender" : "Male",
"phone_number"  :  9080245591,
"email" : "samplle@gmail.com",
"password" : "uni=versity"
}

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-17 16:51:28

您可以使用霍尔腾建议的模块:json-schema-validator来验证FasterXML。

将其包含在maven中: com.github.java-json-tools json-schema-validator 2.2.8

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

如果需要,我可以添加一个函数示例

票数 9
EN

Stack Overflow用户

发布于 2018-01-17 16:20:38

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

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48295686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档