2015-08-28 104 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

相關問題