-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJSON_Check.py
79 lines (71 loc) · 2.37 KB
/
JSON_Check.py
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
"""
Ваше приложение использует API, которое всякий раз отправляет Вам невалидный json, заменить API Вы
не в силах, поэому приходиться работать с тем,что есть.
Ваша задача написать код,который проверит является ли json валидным.
Типичные ошибки API:
- пропушенная кавычка,
- пропущенная скобка.
Внутри ключа и значения могут быть только строки.
"""
json1 = """{
"support": {
"message": "Контакты технической поддержки",
"general": {
"startWeekDay": Понедельник",
"endWeekDay": "Суббота"
}
}
}"""
json1_valid = """{
"support": {
"message": "Контакты технической поддержки",
"general": {
"startWeekDay": "Понедельник",
"endWeekDay": "Суббота"
}
}
}"""
json2 = """{
"support": {
"message": Контакты технической поддержки ООО Маяк",
"responsibleUsers": [
"Иванов Иван",
"Смирнова Ольга",
"Петрова Александра"
}
}"""
json2_valid = """{
"support": {
"message": "Контакты технической поддержки ООО Маяк",
"responsibleUsers": [
"Иванов Иван",
"Смирнова Ольга",
"Петрова Александра" ]
}
}"""
def json_validator(json):
openbrackets = 0
closebrackets = 0
openquadbrackets = 0
closequadbrackets = 0
quotes = 0
for i in json:
if i == '{':
openbrackets += 1
if i == '}':
closebrackets += 1
if i == '[':
openquadbrackets += 1
if i == ']':
closequadbrackets += 1
if i == '"':
quotes += 1
if openbrackets == closebrackets and openquadbrackets == closequadbrackets and quotes % 2 == 0:
print('JSON-Scheme is valid')
else:
print('Invalid JSON-Scheme')
if __name__ == '__main__':
json_validator(json1)
json_validator(json1_valid)
json_validator(json2)
json_validator(json2_valid)