Comment valider un objet JSON en java?
- Je utiliser sf.librairie json pour mapper les données d'un formulaire pour la demande entrante dans mon application web en java.
Permet de dire que la demande entrante est http://localhost:8080/app/addProfile avec des données de formulaire:
formData: {
"name":"applicant Name",
"Age":"26",
"academics":{
"college":"80",
"inter":"67",
"matriculation":"89"
},
"skill":{
"computer":"c,c++,java",
"maths":"limit,permutation,statistics"
},
"dateOfBirth":"09-07-1988"
}
Côté Serveur :
String requestFormData=request.getParameter("formData");
JSONObject formData = JSONObject.fromObject(requestFormData);
String name= formData.getString("name");
if(name.length>70){
//error message for length validation
}
if(!name.matches("regex for name"){
//error message for name validation
}
...
...
...
Le principal problème avec cette approche est que si il y a modification mineure dans la JSON
de la structure, puis de tout le code doit être modifié.
Est qu'il existe une api où je peux configurer les règles qui sont nécessaires pour la validation?
Je ne peux pas penser à une situation où vous aurez besoin de sorte de validation fournis par vous. Il y a beaucoup de personnes avec des noms (prénom et nom) de plus de 70 voire 100 caractères.
Je préfère regarder pour certains uniques sur les règles de validation comme: l'âge est un nombre positif, la date contient jour-mois-année, fournie par l'utilisateur au moins 2 des compétences dans chaque catégorie.
Je préfère regarder pour certains uniques sur les règles de validation comme: l'âge est un nombre positif, la date contient jour-mois-année, fournie par l'utilisateur au moins 2 des compétences dans chaque catégorie.
OriginalL'auteur N3WOS | 2015-08-16
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Json validator: -
https://github.com/fge/json-schema-validator
Ou vous pouvez simplement essayer de parser le Json à l'aide de Google Gson et attraper la syntaxe exception de la valider comme ci-dessous :-
Pour le générique de validation des données, de définir les règles dans votre schéma Json et puis il suffit de valider les entrants Json à l'encontre de ce schéma.
Dans le schéma, vous pouvez définir le type de valeurs qu'il peut contenir, plage etc.
Pour génération de schéma, vous pouvez utiliser l'outil en ligne comme :- http://jsonschema.net/#/
Vous pouvez consulter ce post pour avoir de compréhension rapide de json schema:- http://json-schema.org/example1.html
Exemple:-
Code ci-dessus définit le prix en Json schema, lorsque l'objet Json est validé par rapport à ce schéma, il fera en sorte que le prix ne devrait pas être égal à zéro, il doit être supérieure à zéro et il doit être un nombre. Si une chaîne de caractères ou égale à zéro ou négative, la valeur est passée dans le prix, la validation échouera.
Json est juste un format de données, vous devez définir un schéma Json et puis il suffit de valider les entrants json à l'encontre de ce schéma.
qu'entendez-vous par "validation"? Voulez-vous vérifier si entrants
json
de données est valide (correct en termes de son cahier des charges) ou voulez-vous vérifier la saisie de l'utilisateur (à l'âge de plus de 18 ans, etc.)??mastah je veux vérifier l'entrée de l'utilisateur. Une sorte de validation des données.
pourriez-vous fournir un peu plus sur la validation
JSON
à l'aide de schémas?OriginalL'auteur Amit Bhati
Impression de l'objet JSON à l'aide de:
Et ensuite utiliser un json validateur en ligne pour valider le json.
OriginalL'auteur Vivek Choudhary