json 架构枚举显示标题

json schema enum display titles

我正在尝试为包含枚举的字段创建一个 json 模式,我希望枚举值成为选项的 uuid,但仍为用户提供显示标题以实际select 来自。我在 json 架构规范中看不到如何执行此操作,我是否遗漏了什么?我最初的直觉是让枚举 属性 成为一个映射而不是一个数组,但规范似乎很清楚它是一个数组。

要将 json-schema 转换成表格,需要的数据比 json-schema 规范中的要多,但有一些方法可以在规范中对其进行调整。

您可以使用 oneOf 而不是枚举,并给每个 oneOf object 一个标题。

否则,您可以添加一个 属性 枚举名称,作为枚举值到名称的映射。 (规范允许额外的属性。)

对于更复杂的表单,您可能仍需要 json-schema 之外的表单规范。您可以查看像 Angular Schema Form 这样的表单生成器,它使用一个模式和一个 form-definition.