使用json-schema v4定义地图类型

以太网电缆

我正在尝试定义一个引用的架构,以用作具有文本字段的Cassandra CQL映射类型。具体来说,我想将URI映射到字符串。

现在我有:

"scope": {
      "type": "object",
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri"
        },
        "permission": {
          "type": "string",
          "enum": ["read_only", "read_write", "write_only"]
        }
      },
      "required": ["uri", "permission"],
      "additionalProperties": false
    }

这对于像这样的数据很有用

{"uri":"http://example.com",
  "permission": "read_only"}

但是我想要一个数据的架构

{"http://example.com": "read_only"}

http://spacetelescope.github.io/understanding-json-schema/reference/object.html有一个解决方案:

{
  "type": "object",
  "patternProperties": {
    "^S_": { "type": "string" },
    "^I_": { "type": "integer" }
  }
}

问题是我必须使用正则表达式定义内置格式。查看URI的正则表达式示例可以使我避免这种情况。

由于我拥有的URI数量有限,因此将enum映射到enum也是一种解决方案。那可行吗?

以太网电缆

如果可以允许我回答自己的问题,我相信解决方案是对密钥使用PatternProperties定义,并使用非常特定的正则表达式。该值可以是json-schema支持的任何类型,包括另一个正则表达式。就我而言,这是一个枚举。

因此,定义看起来像-

  "patternProperties": {
    "^https:\/\/www.example.com\/auth\/\\w+$": {
      "type": "string",
      "enum": ["read_only", "read_write", "write_only"]
    }
  },
  "additionalProperties": false

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

验证Json Schema Draft V4

来自分类Dev

Json Schema:根据使用类型验证类型

来自分类Dev

json-schema v4如何根据枚举实现枚举?

来自分类Dev

如何让 AJV (v5.0.0) 使用 JSON Schema 0.7?

来自分类Dev

PatternProperties 中的 JSON Schema 严格类型

来自分类Dev

使用 Mongoose $push into Array Schema 类型

来自分类Dev

用JSON-Schema定义一个模式并使用Mongoose?

来自分类Dev

Json Schema-使用引用使用枚举

来自分类Dev

使用 AJV for Json Schema 修改数据

来自分类Dev

Json-Schema:多个相同类型的元素

来自分类Dev

Json-Schema:多个相同类型的元素

来自分类Dev

XML Schema:在元素中使用“限制”与仅使用“类型”

来自分类Dev

从POJO生成Json Schema

来自分类Dev

JSon schema and Inheritance

来自分类Dev

谷歌地图使用 d3 路径作为图层使用 (d3 v4)

来自分类Dev

如何使用schema.org定义电话类型(家庭,办公室,工作场所)?

来自分类Dev

使用 dbReadTable in_schema

来自分类Dev

Failed validating 'type' json schema

来自分类Dev

oneOf对象的Json Schema示例

来自分类Dev

数字的MaxLength的JSON Schema属性

来自分类Dev

Schema.org:使用Microdata,RDFa或JSON-LD?

来自分类Dev

使用GraphiQL或GraphQL端点生成schema.json

来自分类Dev

Json Schema-使用RegEx进行条件评估

来自分类Dev

如何使用 Json.NET.Schema 要求属性?

来自分类Dev

多个dex文件使用Gradle定义了Landroid / support / v4 / accessibilityservice / AccessibilityServiceInfoCompat

来自分类Dev

在自定义DialogPreference中使用支持库v4片段

来自分类Dev

如何使用背包V4创建自定义存储方法

来自分类Dev

在自定义DialogPreference中使用支持库v4片段

来自分类Dev

使用Builder定义不可变地图的类型

Related 相关文章

热门标签

归档