[PYTHON] Memorandum of JSON Schema Notation für Wörterbücher, die beliebige Schlüssel verwenden

JSON Schema Beispiel für eine JSON-Schemanotation zum Überprüfen beliebiger Schlüssel und Wörterbuchtypen, die Zeichenfolgen oder Zahlen bewerten.

JSON-schema


{
    "type": "object",
    "additionalProperties": {
        "anyOf": [
            {"type": "string"},
            {"type": "number"},
        ],
    },
}

Example@python Ein Beispiel für die Ausführung des obigen Schemas unter Python mit dem Modul jsonschema.

import jsonschema

schema = {
    "type": "object",
    "additionalProperties": {
        "anyOf": [
            {"type": "string"},
            {"type": "number"},
        ],
    },
}

valid_obj = {
    "key_a" : "value",
    "key_b" : 1,
    "key_c" : 1.1,
}
invalid_obj = {
    "key_a" : "value",
    "key_b" : 1,
    "key_c" : None,
}

jsonschema.validate(valid_obj, schema)

try:
    jsonschema.validate(invalid_obj, schema)
except jsonschema.ValidationError as e:
    print(e)
None is not valid under any of the given schemas

Failed validating 'anyOf' in schema['additionalProperties']:
    {'anyOf': [{'type': 'string'}, {'type': 'number'}]}

On instance['key_c']:
    None

Referenz

Dictionary-like JSON schema - Stack Overflow http://stackoverflow.com/questions/27357861/dictionary-like-json-schema

python - JSON schema validation with arbitrary keys - Stack Overflow http://stackoverflow.com/questions/16081118/json-schema-validation-with-arbitrary-keys

Recommended Posts

Memorandum of JSON Schema Notation für Wörterbücher, die beliebige Schlüssel verwenden
Ein Memorandum über die Geschwindigkeit der Diagonalisierung beliebigen Grades
Ist Ihre DLL eine DLL, die Multi-Core nutzen kann?
[Django] Eine Sammlung von Skripten, die für die Entwicklung geeignet sind
Hinweis zur Kernel-Kompilierung
Ein kleines Memorandum von openpyxl
Ein Memorandum zur Verwendung von eigen3
Memorandum des Python-Paketverwaltungstools ez_setup