JsonSchema:对二进制数据使用类型/格式

时间:2019-01-11 22:58:33

标签: jsonschema

我需要一个描述输入和输出数据类型的系统。 类型可以是原始类型,例如“整数”或“字符串”,也可以是自定义类型,例如“ TensorFlow模型”或“ CSV表”。 我要添加到与JsonSchema验证属性非常相似的数据验证属性中的验证属性。

使用JsonSchema语言描述输入和输出数据类型可能会很好。 最好的方法是什么?

我有这样的想法:

{"inputs": {
  "model": {"type": "binary", "format": "TensorFlow model", "required": "true"},
  "rounds": {"type": "integer", "minimum": 1, "default": 100}
}}

P.S。我发现typeformat的使用方式确实令人困惑。类型是基本的和常规的,而格式是特定的。我的交往恰恰相反。通常,您有许多可以用几种格式之一表示的特殊类型。

1 个答案:

答案 0 :(得分:0)

JSON模式的主要目的是提供JSON数据的格式。

验证规范(草稿7)部分记录format,如下所示:

  

实施可以添加自定义格式属性。保存以达成协议   在各方之间,架构作者不应期望同行   支持此关键字和/或自定义格式的实现
  属性。

https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-7.1

这意味着,您可以添加所需的任何格式,但是不能期望它可以在其他地方使用。您应该与希望能够使用架构验证所提供数据的任何其他人达成协议(或记录您的意思)。