这可能是一个非常简单的事情,我错过了,但我的json-schema-validator(networknt/json-schema-validator)不验证数组中的项目类型。
此Java代码段应产生错误:
var schema = "{\n" +
" \"$schema\": \"http://json-schema.org/draft/2020-12/schema#\",\n" +
" \"type\": \"array\",\n" +
" \"items\": [\n" +
" {\n" +
" \"type\": \"integer\"\n" +
" }\n" +
" ]\n" +
"}";
var input = "[true,false,{},\"foo\"]";
var factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V202012);
var jSchema = factory.getSchema(schema);
var errors = jSchema.validate(new ObjectMapper().readTree(input));
System.out.println("Errors: '"+errors.stream().map(ValidationMessage::getMessage).collect(joining(", ")) +"'");
字符串
但是'errors'是空的。在www.jsonschemavalidator.net上,这与预期的一样无效。
我忽略了什么?
谢谢你,谢谢
1条答案
按热度按时间klr1opcd1#
字符串