如何使json模式接受任意数量的父键值而不管名称,并计算子键值?

wko9yo5t  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(139)

我有一个json和模式,如下所示:

**JSON**
    {
      "randKey1" : {"message":"string","color":"string"},
      "randKey2" : {"message":"string","color":"string"}
    }
    
**SCHEMA**
    {
      "properties": {
                      ???: {
                             "type":"object",
                             "properties": {
                                             "message":{"type":"string"}
                                             "color":{"type":"string"}
                                           }
                           }
                    }
    }

???是未知的父名称。如何使schema评估json中的每个父?

wswtfjt7

wswtfjt71#

此问题的解决方案是使用patternProperties关键字。
例如,如果所有JSON的格式都是:

{
    KEY_thing1 : {object},
    KEY_thing2 : {object}
}

您可以使用如下所示的模式:

{
    "type": "object",
    "patternProperties": {
        "^KEY_": {
            "type": "object",
            ...
}

若要评估以KEY_开头的每个对象
有更有经验的用户谁回应了其他堆栈溢出职位的概念,可以解释比我更好。我只是想在这里列出我的解决方案,以防它有帮助。

相关问题