根据另一个字段的值验证 JSON 数据

杰克逊

我的数据中的字段之一如下:

{
  "license":
    "url": "<some url>",
    "label": "<some label>"
}

我想验证一下,例如,如果用户提供“url”的任一值:

["http://creativecommons.org/licenses/by/4.0/",
 "https://creativecommons.org/licenses/by/4.0/"]

label 的值必须是以下之一:

["CC-BY", "CC BY 4.0", "CC-BY 4.0"]

并且有多种不同的标签选项,支持 HTTP 或 HTTPS。我尝试了以下操作,但验证失败(无法验证),并且我找不到有关相应值的任何信息,只是如果存在一个字段,则必须存在另一个字段(依赖项)。

"license": {
    "type": "object",
    "properties": {
        "oneOf": [
            {
                "url": { "enum": ["http://creativecommons.org/licenses/by/4.0/", "https://creativecommons.org/licenses/by/4.0/"] },
                "label": { "enum": ["CC-BY", "CC BY 4.0", "CC-BY 4.0"] }
            },
            {
                "url": { "enum": ["http://creativecommons.org/publicdomain/zero/1.0/", "https://creativecommons.org/publicdomain/zero/1.0/"] },
                "label": { "enum": ["CC-0", "CC0", "CC0 1.0 Universal", "CC0 1.0"] }    
            },
            {
                "url": { "enum": ["http://creativecommons.org/licenses/by/3.0/", "https://creativecommons.org/licenses/by/3.0/"] },
                "label": { "enum": ["CC-BY", "CC-BY 3.0"] } 
            } 
... <and so on>

我尝试了几个不同的依赖项/属性迭代,oneOf但似乎没有任何效果。

杰克逊

我找到了有效的方法 -"oneOf"应该与其中"properties""properties"对象保持一致并将其包裹起来,如下所示。

"license": {
        "type": "object",
        "properties": {
            "url": { "type": "string", "format": "uri" },
            "label": { "type": "string" },
            "logo": { "type": "string", "format": "uri" }
        },
        "required": ["url", "label"],
        "oneOf": [
            {
                "properties": {
                    "url": { "enum": ["http://creativecommons.org/licenses/by/4.0/", "https://creativecommons.org/licenses/by/4.0/"] },
                    "label": { "enum": ["CC-BY", "CC BY 4.0", "CC-BY 4.0"] }
                }
            },
            {
                "properties": {
                    "url": { "enum": ["http://creativecommons.org/publicdomain/zero/1.0/", "https://creativecommons.org/publicdomain/zero/1.0/"] },
                    "label": { "enum": ["CC-0", "CC0", "CC0 1.0 Universal", "CC0 1.0"] }
                }   
            },
            {
                "properties": {
                    "url": { "enum": ["http://creativecommons.org/licenses/by/3.0/", "https://creativecommons.org/licenses/by/3.0/"] },
                    "label": { "enum": ["CC-BY", "CC-BY 3.0"] } 
                }
            },
... <and so on>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JSON模式条件:根据另一个字段的值,该字段是必需的

来自分类Dev

熊猫数据框根据另一个字段的条件更改值

来自分类Dev

基于TSQL / Microsoft SQL Server中另一个字段的字段的数据透视值

来自分类Dev

从JSON获取基于另一个字段的值而无需迭代-angular js

来自分类Dev

如何从同一mysql数据库表中的另一个字段移动一个字段数据?

来自分类Dev

以yii2格式从另一个字段获取数据

来自分类Dev

如何从表中选择数据,在该表中我需要返回在一个字段中具有重复值而在另一个字段中具有指定值的行?

来自分类Dev

如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

来自分类Dev

如何在Solr中使用另一个字段中一个字段的数据?

来自分类Dev

mysql:截断一个字段并聚合另一个表中的数据

来自分类Dev

使用ggplot根据数据中的另一个字段沿x轴定位x轴文本/标签

来自分类Dev

MySQL将数据从一个表复制到另一个字段中的另一个表

来自分类Dev

如何使json模式允许一个但不允许另一个字段?

来自分类Dev

如何使用South将数据从字段迁移到表中的另一个字段

来自分类Dev

仅当数据集中另一个字段不同时才对字段进行计数的表达式

来自分类Dev

将1个字段复杂地移动到另一个数据库中的一个字段所需的mysql查询

来自分类Dev

Yii2 无效的 JSON 数据。什么时候验证另一个功能

来自分类Dev

两个外键字段,正好一个字段设置为一个值,而在带有MySQL数据库的Django模型中,另一个为null

来自分类Dev

数据库 - 有 2 个表,需要另一个同时具有 ID 和另一个字段的表

来自分类Dev

根据从另一个数据组织调用的查找函数中的参数,将 .csv 文件中的值转换为数据组织中的 json 格式

来自分类Dev

Django根据另一个字段的值验证字段

来自分类Dev

Bootstrap x-editable:根据另一个字段的值验证字段

来自分类Dev

嗨,我想获取一个json数据,并根据json链接中收到的数据发送另一个json数组

来自分类Dev

使用VBA将数据透视表设置为基于另一个字段的特定日期

来自分类Dev

serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

来自分类Dev

serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

来自分类Dev

根据表名从表中获取数据作为另一个表的字段值

来自分类Dev

根据另一个表过滤具有无效字段值的数据

来自分类Dev

如何在Rails JSON响应中的对象中合并另一个字段

Related 相关文章

  1. 1

    JSON模式条件:根据另一个字段的值,该字段是必需的

  2. 2

    熊猫数据框根据另一个字段的条件更改值

  3. 3

    基于TSQL / Microsoft SQL Server中另一个字段的字段的数据透视值

  4. 4

    从JSON获取基于另一个字段的值而无需迭代-angular js

  5. 5

    如何从同一mysql数据库表中的另一个字段移动一个字段数据?

  6. 6

    以yii2格式从另一个字段获取数据

  7. 7

    如何从表中选择数据,在该表中我需要返回在一个字段中具有重复值而在另一个字段中具有指定值的行?

  8. 8

    如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

  9. 9

    如何在Solr中使用另一个字段中一个字段的数据?

  10. 10

    mysql:截断一个字段并聚合另一个表中的数据

  11. 11

    使用ggplot根据数据中的另一个字段沿x轴定位x轴文本/标签

  12. 12

    MySQL将数据从一个表复制到另一个字段中的另一个表

  13. 13

    如何使json模式允许一个但不允许另一个字段?

  14. 14

    如何使用South将数据从字段迁移到表中的另一个字段

  15. 15

    仅当数据集中另一个字段不同时才对字段进行计数的表达式

  16. 16

    将1个字段复杂地移动到另一个数据库中的一个字段所需的mysql查询

  17. 17

    Yii2 无效的 JSON 数据。什么时候验证另一个功能

  18. 18

    两个外键字段,正好一个字段设置为一个值,而在带有MySQL数据库的Django模型中,另一个为null

  19. 19

    数据库 - 有 2 个表,需要另一个同时具有 ID 和另一个字段的表

  20. 20

    根据从另一个数据组织调用的查找函数中的参数,将 .csv 文件中的值转换为数据组织中的 json 格式

  21. 21

    Django根据另一个字段的值验证字段

  22. 22

    Bootstrap x-editable:根据另一个字段的值验证字段

  23. 23

    嗨,我想获取一个json数据,并根据json链接中收到的数据发送另一个json数组

  24. 24

    使用VBA将数据透视表设置为基于另一个字段的特定日期

  25. 25

    serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

  26. 26

    serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

  27. 27

    根据表名从表中获取数据作为另一个表的字段值

  28. 28

    根据另一个表过滤具有无效字段值的数据

  29. 29

    如何在Rails JSON响应中的对象中合并另一个字段

热门标签

归档