Closed mulkieran closed 8 years ago
jsonshema is json
>>> shema
OrderedDict([('$schema', 'http://json-schema.org/draft-04/schema#'), ('definitions', {'__main__.Directory': OrderedDict([('type', 'object'), ('properties', OrderedDict([('name', OrderedDict([('type', 'string')])), ('content', OrderedDict([('type', 'array'), ('items', OrderedDict([('oneOf', [{'$ref': '#/definitions/__main__.File'}, {'$ref': '#/definitions/__main__.Directory'}])]))]))])), ('required', ['name', 'content']), ('additionalProperties', False)]), '__main__.File': OrderedDict([('type', 'object'), ('properties', OrderedDict([('name', OrderedDict([('type', 'string')])), ('content', OrderedDict([('type', 'string')]))])), ('required', ['name', 'content']), ('additionalProperties', False)])}), ('$ref', '#/definitions/__main__.Directory')])
>>> print(json.dumps(shema, ensure_ascii=False, indent=4))
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"__main__.Directory": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/definitions/__main__.File"
},
{
"$ref": "#/definitions/__main__.Directory"
}
]
}
}
},
"required": [
"name",
"content"
],
"additionalProperties": false
},
"__main__.File": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"content": {
"type": "string"
}
},
"required": [
"name",
"content"
],
"additionalProperties": false
}
},
"$ref": "#/definitions/__main__.Directory"
}
Thanks.
It is obvious in retrospect.
Running the simple introductory example in the docs gets me this:
This is all improved with ordered is False.
Pretty print helps with unordered:
But, it would be nice to be able to export the result to a file simply, or if docs had a recommended best way.