web-dev-qa-db-fra.com

Comment valider le schéma JSON en Java?

J'essaye de vérifier l'objet de détail d'utilisateur avec l'utilisation du schéma JSON. Mais je ne sais pas comment vérifier l'objet JSON en Java.

Mon schéma:

{
     "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" ]
}

Mon exemple d'entrée:

{
"first_name" : "Sample" ,
"last_name" : "Name" ,
"age"  : 19,
"gender" : "Male",
"phone_number"  :  9080245591,
"email" : "[email protected]",
"password" : "uni=versity"
}

N'importe qui peut dire comment vérifier cette entrée en utilisant le schéma JSON en Java.

6
Obeth Samuel

Vous pouvez utiliser FasterXML jackson avec le module: json-schema-validator comme le propose holten.

Incluez-le dans maven: com.github.Java-json-tools json-schema-validator 2.2.8

En complément, pour générer un schéma à partir d'un objet au lieu de l'écrire manuellement, vous pouvez également utiliser un autre module: https://github.com/FasterXML/jackson-module-jsonSchema

Je peux ajouter un exemple fonctionnel si besoin

4
pdem

Le json-schema-validator dans GitHub, peut-être qu'il vous aidera à vérifier l'objet json en Java.

5
holten