我有一个JSON文件,该文件定义了网站上托管的在线表单中提出的许多问题。提交在线表单后,将生成另一个JSON文件,其中包含在线表单中提供的所有答案。
第一个JSON文件定义有关问题的属性,例如问题的类型以及是否需要。我想做的是生成一个JSON模式文件,该文件允许根据第一个JSON文件中提供的信息针对问题的答案进行验证。
使用GenSON (python)和https://www.jsonschema.net/之类的JSON模式生成器似乎不会产生任何有效的JSON模式,因为它们仅考虑了问题文件。
基本上,我需要问题文件中的信息来处理答案文件的结构,所有这些文件都很好地包装在一个模式中。
有没有办法使这个过程自动化?除了开发自己的自定义程序以准确解析JSON之外,我还希望解析它吗?还是我需要自己将所有问题信息硬编码到模式中?
反正有至少生成一个基本模式供我工作而不是从头开始的事情吗?
下面是文件的两个摘录:
问题JSON
{
"sections": [
{
"id": "1",
"questions": [
{
"id": "1",
"text": "Question 1",
"type": "numbers",
"valid_answers": null,
"required": "1",
"enabled": "1"
},
{
"id": "2",
"text": "Question 2",
"type": "text",
"valid_answers": null,
"required": "1",
"enabled": "1"
},
{
"id": "3",
"text": "Question 3",
"type": "dropdown",
"valid_answers": "Yes|No",
"required": "1",
"enabled": "1"
}
]
}
]
}
回答JSON
{
"sections": {
"1": {
"questions": {
"1": {
"answer": "80035",
},
"2": {
"answer": "text",
},
"3": {
"answer": "Yes",
}
}
}
}
}
如您所见,每个问题的答案保存在一个文件中,而问题的定义保存在另一个文件中。