在摩纳哥编辑器中强制执行非空文档

Enforce non-empty document in Monaco Editor

使用 monaco 编辑器游乐场 (https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-json-defaults) 似乎一个完全空的文档通过了 JSON 架构验证。

我认为空文档应该被解释为 null 类型,因此需要 {type: "null"} 才能通过验证。其他库,如 ajv (https://github.com/epoberezkin/ajv) 将空 (undefined) 解释为对 {type: "object"}

无效

有没有一种方法可以使用 monaco 编辑器和 json 架构立即完成此操作?

JSON 语法表示 JSON 文档以一个值开头。空文档与内容为 "null" 不同。鉴于 JSON 模式定义了对 JSON 输入的约束,因此此处没有任何内容可应用约束的空文档将是有效的。