Я хотел бы иметь возможность проверить поле ответа в виде числового значения.Ниже приведен фрагмент кода, который является частью более крупного словаря ответов.Каждый ответ соответствует общему формату, поэтому необходимо, чтобы поле ответа имело тип string.
"1": {
"answer": "80035",
"web_validated": true,
"web_error_string": "",
"server_error_string": ""
},
Это создает проблему, поскольку мы используем схему JSON для проверки словаря ответов.Нам нужно, чтобы поле ответа было проверено как числовое значение, это определяется шаблоном JSON, которому должен соответствовать словарь.Ниже приведен фрагмент шаблона для вышеуказанного ответа на один вопрос в словаре.
{
"id": "1",
"text": "KFI Number (Null required check)",
"type": "text",
"source": "phoebus",
"kfid_mapping": "KFID000",
"kfid_mapping_value": "",
"valid_answers": null,
"display_online": "readonly",
"required": "1",
"display_internal": "yes",
"hints": null,
"logic": null,
"rules": null,
"reason": null,
"conditional_explanation": null,
"conditional_question_id": null,
"conditional_question_answered": null,
"enabled": "1",
"order": "2",
"fk_section_id": "1",
"validated": false
}
Текущая схема JSON, которую мы используем для проверки идентификатора вопроса: 1.
"definitions": {
"question1-1": {
"type": "object",
"properties": {
"answer": {
"type": "string",
"minLength": 1
}
}
//other definitions removed
}
}
Выше -определение схемы JSON для ответа, показанного в этом вопросе.
Возможные решения:
- Преобразовать поле ответа в числовое поле, то есть убрать ""- это действительно работает, но это дороже и взломать.Так что предварительно процесс, прежде чем проверить его.
- Просто проверьте поле ответа в виде строки, если она не нулевая, не пустая и не проверяет минимальную длину.
Я бы предпочел посмотреть, возможно ли это с помощью схемы JSON?