【问题标题】:validate json object with varying properties验证具有不同属性的 json 对象
【发布时间】:2021-06-09 05:20:13
【问题描述】:

我有一个 json 对象,它的属性值是唯一的,可以是任何东西;

{
    "cat1": {
        "name": "kitty",
        "type": "animal",
        "color": "ginger"
    },
    "dog2": {
        "name": "ripple",
        "type": "animal",
        "color": "black"
    },
    "book10": {
        "name": "myBook",
        "type": "book",
        "color": "NA"
    },
    "orange6": {
        "name": "NA",
        "type": "fruit",
        "color": "orange"
    },
    "pig1":{
        "name": "spring",
        "type": "animal",
        "color": "pink"
    }
}

现在我很困惑如何编写它的验证模式。有人知道怎么做吗?

var mySchema = {
    "type": "object",
    "properties": {
         // no idea how to check varying properties like cat1, dog2, etc. which might change next time
    }
}

【问题讨论】:

  • 首先您需要问自己验证的规则是什么?由于值可以是任何东西,并且属性是变化的,并且您希望对它们进行一些验证,因此应该有一些预定义的规则集。把它们列出来。
  • 好点。我会考虑的。但是,如果我只想验证主对象内的每个对象 { "name": "name1", "type": "type1", "color": "color1"} 怎么办?

标签: javascript json validation javascript-objects jsonschema


【解决方案1】:

你可以试试这个

var mySchema = {
  "type": "object",
  "additionalProperties": {
    "type": "object",
    "properties": {
      "name": { "type": "string"},
      "type": { "type": "string"},
      "color": { "type": "string"},
    }
  }
}

参考:JSONSchema how to define a schema for a dynamic object

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多