代码之家  ›  专栏  ›  技术社区  ›  Sled bayer

如何显示对象的每个键将具有相同的类型?

  •  1
  • Sled bayer  · 技术社区  · 7 年前

    我有一个JSON响应,它将各种度量作为值和信心返回,我希望将其表示为JSON模式(以及使用JsonSchema2Pojo生成bean)。

    {
        "QPI": {
            "value": 0.053916827852998075,
            "confidence": 0.89127
        },
        "MTBF": {
            "value": 0.053916827852998075,
            "confidence": 0.90210
        },
        "MDT": {
            "value": 0.053916827852998075,
            "confidence": 0.63541
        }
    }
    

    响应中的度量数为

    如果 他们的反应是

    [
        {
            "metric": "QPI",
            "value": 0.053916827852998075,
            "confidence": 0.89127
        },
        {
            "metric": "MTBF",
            "value": 0.053916827852998075,
            "confidence": 0.90210
        }, 
    
        {
            "metric": "MDT",
            "value": 0.053916827852998075,
            "confidence": 0.63541
        }
    ]
    

    {
        "type": "array",
        "items": {
            "type": "object",
            "properties": {
                "metric": {
                    "type": "string"
                },
                "value": {
                    "type": "number"
                },
                "confidence": {
                    "type": "number"
                }
            }
        }
    }
    

    但是如何为一个对象的值做呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Sled bayer    7 年前

    这个 "additionalProperties" 不只是布尔值 "additionalProperties": false 但也可以采用预期的对象类型:

    {
        "type": "object",
        "additionalProperties": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "number"
                },
                "confidence": {
                    "type": "number"
                }
            }
        }
    }