如何在JSON Schema中定义含字符串与字符串数组的数组
JSON Schema定义混合类型数组的解决方案
JSON Schema完全支持这种混合元素类型的数组结构,你之前重复写type字段的方式错误——JSON对象不允许重复键,后写的会覆盖先写的,所以导致验证失败。
正确的写法是使用oneOf关键字,指定数组的每个元素可以是字符串或者字符串数组,具体Schema如下:
"ArgumentList": { "type": "array", "items": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] } }
说明:
oneOf约束表示数组中的每个元素必须匹配其中一个子Schema:要么是单个字符串,要么是全部由字符串组成的子数组。- 这个Schema可以完美兼容你提供的示例JSON,满足既有独立字符串、又有字符串数组的结构需求。
内容的提问来源于stack exchange,提问作者dEhiN
相关产品推荐
相关产品推荐

