2016-12-01 98 views
2

上傳文件時我想知道如何區分用戶是否已經上傳JSON模式文件或該模式的實際JSON數據文件,因爲兩者都具有.json類型,與XML或XSD情況不同,我們可以從文件類型中識別用戶是否正在上傳XML或XSD。如何識別文件類型是json數據還是json模式

+0

json模式應該總是包含「$ schema」字段 –

+0

@FabrizioStellato - 不正確。 JSON模式規範不需要$ schema屬性 –

回答

2

簡答

你不能。

長的答案

與XSD,一個JSON模式可以在條款,這使得它從一個非模式JSON文件沒有區別來表示。

但是,在實踐中,可能有些事情可以做。按照慣例,JSON模式可以與$架構財產開始告訴消費者正在使用什麼版本的JSON模式,例如:

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
    "properties": {} 
} 

此外,JSON模式可以使用$裁判屬性,它允許架構筆者到架構中引用其他屬性,如:

"thing":{ 
    "$ref": "#/definitions/Thing" 
} 

還有一堆集合屬性也可以送人的:required[]oneOf[]allOf[]。但是,重點是可以在不使用任何這些元素的情況下創建模式。