web-dev-qa-db-ja.com

JavaでJSONスキーマを検証する方法は?

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" : "[email protected]",
"password" : "uni=versity"
}

誰でも、JavaでJSONスキーマを使用してこの入力をチェックする方法を言うことができます。

6
Obeth Samuel

提案されたホルテンとして、FasterXMLジャクソンをmodule:json-schema-validatorで使用できます。

それをmavenに含めます:com.github.Java-json-tools json-schema-validator 2.2.8

これを補完して、手動で記述する代わりにオブジェクトからスキーマを生成するには、別のモジュールを使用することもできます: https://github.com/FasterXML/jackson-module-jsonSchema

必要に応じて機能例を追加することができます

4
pdem

GitHubの json-schema-validator は、おそらくJavaでjsonオブジェクトをチェックするのに役立ちます。

5
holten