python - JSON schema validation with arbitrary keys -


I am using validation to validate attached JSON data and schemas. Working till now

However the data dictionary may contain arbitrary string keys (other than 'BP'). The key 'BP' in the schema is worked hard here ... This can be a string from the given list (the number of strings). How do I add definition to "first level" of dict? Import json import valid data = {'bp': [{'category': 'bp', 'created': '2013-03-08T09: 14: 48.148000', 'day': '2013-03-11T00: 00 : 00 ',' Id ':' DC 049CD-D1991-4E3-93-A646438A239712 ',' Unit ':' MMHG ',' Value ': 147.0, '' Value '': 43.0}] {"type": "object", "property": {"bp": {"type": "array", "required": wrong, "item": {"type": {"Type": "string", "default": "bp", "required": wrong}, "created": {"type": "string": "object", "required" , "Default": "2013-03-08T09: 14: 48.148000", "required": false}, "days": {"type": "st "", "Default": "2013-03-11T00: 00: 00", "required": incorrect, "id": {"type": "string", "default": "dc049c0e-d19a-4e3e-93ea "", "Value": {"type": "number"), "unit": "type": "string", "default": "mmHg", "required" False "}}}}}} is valid.", "Default": 43, "required": false}, "value": {"type": "number", "default": 147, "expected"). Valid (data, schema)

It depends on exactly what you do Are trying to

If you want the same specification, but for a range of properties, the definition: "" "object", "object", "property": {"bp": {"$ ref": {"$ Ref": "# / definitions / categoryList"}}, "# / Definitions / Category List"}, "Foo" ": {" $ Ref ":" # / Definitions / Category "}," Bar " "Definitions": {"categoryList": {...}}}

If you want to any assets to follow that schema, Then you can use additionalProperties

  {"type": "object", "additionalProperties": {...}}  < / Pre> 

these qualities A category of (corresponds to a pattern) - for example, anything less-ke:

  {"type": "object", "patternProperties": {"^ [az ] + $ ": {...}}}   

If you want to limit the number of properties that can be defined, you can use" maxProperties "(standard v4 ):

  {"type": "object", "additional properties": {...}, "maximum properties": 1}   

P. s. In standard v4, there is an array of "required". In fact, in v3, the default for "required" is false , so your example is not needed

Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -