2015-08-28 219 views
2

假设我有几个对象,比如Vehicle和Computer。如何在json-schema中定义自定义对象类型

{"brand":"Ford", "dateOfManufacture":"23/082015"} 
{"brand":"Apple", "dateOfManufacture":"23/082015"} 

我知道我可以代表下面的车辆模式。然而,查看模式并不能告诉我它是否为Object类型的Vehicle或Computer。如何将这些信息放入JSON中。 json-schema提供自定义类型支持。所以,而不是说“类型”:“对象”,我可以说“类型”:“车辆”。

{ 
    "description": "schema validating people", 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
     "properties": { 
      "firstName": {"type": "string"}, 
      "lastName": {"type": "string"} 
     } 
    } 
} 

TIA

回答

0

您可以添加产品类型也像模式: -

{"brand":"Ford", "dateOfManufacture":"23/082015", "productType":"vehicle"} 
{"brand":"Apple", "dateOfManufacture":"23/082015", "productType":"computer"} 

而决定的模式,可以确保它拥有所有产品的分类的必要信息。

+0

是的,这是我想知道的一个选项,如果json-schema提供自定义类型支持。所以,而不是说“type”:“object”可以说“type”:“vehicle” –

+0

type关键字指的是JSON基元类型。自从json-schema v4以后它不能被扩展。你通过$ ref关联“父”模式。如果你想在模式继承,请看看这个以前回答的问题:http://stackoverflow.com/questions/27410216/json-schema-and-inheritance – jruizaranguren

相关问题