Ответ
Валидация JSON включает несколько уровней проверки:
- Синтаксическая валидность — соответствие формату JSON (парные скобки, кавычки, правильные разделители).
- Структура данных — наличие обязательных полей и их вложенность.
- Типы данных — соответствие значений ожидаемым типам:
string,number,boolean,null,array,object. - Семантическая корректность — проверка форматов (email, дата, UUID) и бизнес-ограничений (диапазоны чисел, длина строк).
Пример базовой проверки на Python:
import json
def is_valid_json(json_string):
try:
json.loads(json_string)
return True
except json.JSONDecodeError:
return False
Для сложных проверок используют JSON Schema — стандарт для описания структуры, типов и ограничений. Пример схемы:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"required": ["email"]
}