2
上傳文件時我想知道如何區分用戶是否已經上傳JSON模式文件或該模式的實際JSON數據文件,因爲兩者都具有.json類型,與XML或XSD情況不同,我們可以從文件類型中識別用戶是否正在上傳XML或XSD。如何識別文件類型是json數據還是json模式
上傳文件時我想知道如何區分用戶是否已經上傳JSON模式文件或該模式的實際JSON數據文件,因爲兩者都具有.json類型,與XML或XSD情況不同,我們可以從文件類型中識別用戶是否正在上傳XML或XSD。如何識別文件類型是json數據還是json模式
簡答
你不能。
長的答案
與XSD,一個JSON模式可以在條款,這使得它從一個非模式JSON文件沒有區別來表示。
但是,在實踐中,可能有些事情可以做。按照慣例,JSON模式可以與$架構財產開始告訴消費者正在使用什麼版本的JSON模式,例如:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
此外,JSON模式可以使用$裁判屬性,它允許架構筆者到架構中引用其他屬性,如:
"thing":{
"$ref": "#/definitions/Thing"
}
還有一堆集合屬性也可以送人的:required[]
,oneOf[]
,allOf[]
。但是,重點是可以在不使用任何這些元素的情況下創建模式。
json模式應該總是包含「$ schema」字段 –
@FabrizioStellato - 不正確。 JSON模式規範不需要$ schema屬性 –