我有一个接收JSON消息的系统,其中包含来自文件静态分析的元数据。这些字段的名称是从扫描中动态生成的,可以是任何有效的字符串,但该值始终是有效的字符串。
e.g。
{
"filename": "hello.txt",
...
"meta": {
"some file property": "any string",
"some other file property": "another string",
...
}
}
在收到消息之前,我无法知道meta中的键是什么,也不知道会有多少键。有没有一种方法可以在JSONSchema中捕获哪些键存在并不重要,只要它们的值总是字符串?
答案 0 :(得分:2)
我认为您正在寻找additionalProperties
使用" additionalProperties"进行验证仅适用于儿童 实例名称的值与"属性"中的任何名称都不匹配, 并且不匹配" patternProperties"。
中的任何正则表达式
additionalProperties的值可以是JSON Schema,如此
...
"additionalProperties" : {
"type": "string"
}
...
如果我在解释中遗漏了任何内容,或者提出任何其他问题,请随时告诉我。