【发布时间】:2019-12-24 16:12:05
【问题描述】:
假设我想根据 Intellij IDEA 中的 JSON 模式验证 YAML 文件。文件结构如下:
foo:
command: touch /tmp/a.txt # I know I don't need this but it's an example
bar:
command: echo "Hello World!" > /tmp/a.txt
baz:
command: cat /tmp/a.txt
dependencies:
- foo
- bar
所以属性名称可以是任何字符串,但依赖项只能是根对象的键/属性名称。理想情况下,我会指定一个枚举,但这个问题表明这是不可能的Use object property keys as enum in JSON schema(除非答案已过时)。
不过,我注意到,当您在 Intellij 中编写架构并添加 "required" = [...] 时,它会使用“属性”对象的属性名称自动完成必填字段(即使它不使用它们来验证,但足够接近我的目的)。我已经检查了它的架构 http://json-schema.org/draft-07/schema# 但无法理解它是如何做到的。
有没有一种方法可以定义我的架构,以便 Intellij 根据其他属性的键自动完成,就像定义架构时一样?
【问题讨论】:
标签: json intellij-idea yaml jsonschema