如何表示 JSON 的 JSON 架构,哪些键名在枚举值中?

How to represent JSONSchema of JSON which key names are in enum value?

我创建自己的 JSON 格式文件,如下所示:

{
  "title": {
    "ja": "ドラえもん",
    "en": "Doraemon",
    "ko": "도라에몽",
    "de": #Any other languages...
  }
}

我想创建此 JSON 的 JSON 架构,但我应该如何表示这种类型的 ("ja", "en", "ko", ...) 自由或枚举值 JSON 键?

你可以使用"patternProperties"指定key是2个字母,value是一个字符串,像这样:

{
  "type": "object",
  "properties": {
    "title": {
      "type": "object",
      "patternProperties": {
        "^[a-z]{2}$": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "title"
  ]
}

如果您可以使用 draft-06 或更高版本,您可能想尝试 propertyNames,它允许您为 names 而不是 [=16] 指定架构=]对象属性的值。

https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-00#section-6.5.8