Search code examples
jsonschemageojsonjsonschemajson-schema-validator

How to define JSON Schema for Map<String, Integer>?


I have a json :

{
    "itemTypes": {
        "food": 22,
        "electrical": 2
    },
    "itemCounts": {
        "NA": 211
    }
}

Here the itemTypes and itemCounts will be common but not the values inside them (food, NA, electrical) which will be keep changing but the will be in the format : Map<String, Integer>

How do I define Json Schema for such generic structure ?

I tried :

"itemCounts": {
    "type": "object""additionalProperties": {
        "string",
        "integer"
    }
}

Solution

  • You can:

    {
      "type": "object",
      "properties": {
        "itemType": {"$ref": "#/definitions/mapInt"},
        "itemCount": {"$ref": "#/definitions/mapInt"}
      },
      "definitions": {
        "mapInt": {
          "type": "object",
          "additionalProperties": {"type": "integer"}
        }
      }
    }