Как использовать JSON-схему для проверки свойства JSON под-свойства со случайным именем - PullRequest
0 голосов
/ 11 мая 2018

Мне интересно, как я могу проверить "ха-ха" в под-свойстве со случайным именем?

{
  "shipping_address": {
      "randomName1":{
      "haha":"ddd"},
      "randomName2":{
      "haha":"ddd"},
      "randomName3":{
      "haha":"ddd"},
  }
}

Я пытался просто использовать allOf, но мой не работает:

{
  "$schema": "http://json-schema.org/draft-6/schema#",
  "type": "object",
  "properties": {
    "shipping_address": {
      "allOf": [
        { "properties":
          { "haha": { "type": "integer" } }
        }
      ]
    }
  }
}

Вы можете попробовать здесь: https://www.jsonschemavalidator.net/

1 Ответ

0 голосов
/ 11 мая 2018

Использовать patternProperties

 {
      "$schema": "http://json-schema.org/draft-6/schema#",
      "type": "object",
      "properties": {
        "shipping_address": {
          "patternProperties": {
            "^.*$": {          
                  "properties": {
                    "haha":{
                        "type":"integer"
                    }                    
                }      
            }
          }
        }
      }
    }

Как прокомментировал vearutop, улучшенная версия:

{
  "$schema": "http://json-schema.org/draft-6/schema#",
    "type": "object",
      "properties": {
        "shipping_address": {
          "additionalProperties":{
            "properties":{
              "haha":{
                "type":"integer"
              }
            }
          }
        }
      }          
}
...