Bonjour tout le monde !

Je bloc depuis bientôt 1 jour sur la validation de schéma JSON en python, et pourtant ça marchait vendredi, je ne comprends pas…

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
import json
import jsonschema
from jsonschema import validate
from jsonschema import FormatChecker
from jsonschema import Draft6Validator
 
# Describe what kind of json you expect.
rulesSchema = {
    "type": "object",
    "anyOf": [{"required": ["AGE", "NAME", "PHONE"]},
              {"required": ["AGE", "NAME", "PHONE_CELL"]}],
    "properties":{"AGE": {"type": "number",
                          "minimum": 0,
                          "maximum": 130,
                          "multipleOf": 1},
                  "NAME": {"type": "string"},
                  "MAIL": {"format": "email"},
                  "FAVORITE_COLOR": {"type": "string",
                                     "enum": ["red", "blue", "yellow"]
                                    },
                  "PHONE": {"type": "string", "pattern":"^[0-9]{4}$"},
                  "CELL": {"type": "string", "pattern":"^[0-9]{4}$"},
                 },
 
}
 
def validateSchema(jsonData):
    try:
        validate(jsonData,rulesSchema)
    except jsonschema.exceptions.ValidationError as err:
        print ("Erreur :".format(str(err)))
        return False
    return True

et dans mon main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
    if validateSchema(data) == False:
        return_error('Schema JSON is not valid')
 
    return data
Enfin, le contenu de data :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
{
    "AGE": 17,
    "NAME": "DVP",
    "MAIL": "aa",
    "FAVORITE_COLOR": "red",
    "PHONE": "0000"
}
mon traitement s'arrête avec le message "Erreur :"

Je deviens fou ainsi je demande votre aide.

Merci par avance