主要的问题在于根据处理数组的模式来验证一个JSON。2那么,如果我放一个不同的值似乎仍然有效?
json模式:
{
"transactions" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BREAK"]
},
"required":["type"]
},
"required":["items"]
}
}
}
输入JSON:
{
"transactions":[
{
"type":"BREAKDDDDDdddddddddddddddddddddddddddJDJDJDJDJDJDJDJ"
}
]
}
result:没有发现错误。2 JSON根据模式进行验证。
这是错误的,因为我们没有定义像"BREAKDDDDD"这样的枚举类型
http://www.jsonschemavalidator.net/
对此有何想法?
2条答案
按热度按时间snz8szmq1#
您的JSON架构缺少某些属性。请查看此处提供的有关如何启动架构http://json-schema.org/example1.html的示例。
请将架构更新为下面的模式并尝试
qc6wkl3g2#
要验证JSON架构中的枚举值,我们可以使用enum关键字。enum关键字允许您指定属性的允许值列表。例如,如果您有一个“enum”:[“one”,“two”],这将只允许值“one”,“two”。