【发布时间】:2021-09-19 10:56:34
【问题描述】:
刚开始使用 jsonschema。我想描述一个属性的对象集合,其中可能不知道先验的键。
这是我的出发点:
"tx_properties": {
"type": "object",
"anyOf": [
{
"required": [
"original_msg"
]
}
],
"properties": {
"original_msg": {
"type": "string"
}
}
}
}
我希望能够验证为 tx_properties 添加的更多属性,这些属性可能具有不同的类型,但在架构定义时未知。
例如我可能有,在 json 中:
"tx_properties": {
"original_msg": "foo",
"something_else": "bar",
"or_something_numeric": 172,
"or_even_deeper_things": {
"fungible": false,
}
}
作为一个 n00b,我对如何实现这一点有点困惑。 anyOne 的使用是我认为至少在最终解决方案中需要的。
【问题讨论】:
-
默认情况下,您可以向对象添加任何内容,前提是仅当您指定
additionalProperties: false时,这是不正确的。可能我理解错了 -
@Evert 你是说使用我在消息顶部描述的架构,如果我根据我也展示的数据示例进行验证......它会验证好吗?跨度>
-
你的意思是你还没试过?
-
@Evert 还没有......我需要让测试数据生成器运行,但到 EOD 我应该
-
@Evert - 工作,感谢您的洞察力和
Ether扩展并包含链接。
标签: jsonschema