2014-10-06 60 views
0

我有一個JSON對象:JSON架構在JSON

{ 
    "name" : "car", 
    "color" : "blue" 
} 

而一個JSON架構,其用於驗證它(在此未指定)。

XML允許您通過「xsi:schemaLocation」(名稱空間前綴可能不同)在XML文檔本身中包含對extern XML Schema Definition進行驗證的引用。

是否有一種等同的方式在JSON對象中包含對JSON模式的引用?

回答

2

從數據到描述它的模式的鏈接通常被認爲是「元數據」,因此通常不在數據本身中。

如果你工作在HTTP,您可以:

  • 使用 「輪廓=」 參數的Content-Type頭,或
  • 使用 「鏈接:」 頭,有rel="describedby"到鏈接到模式。

第二種選擇是可取的。

如果你從一個文件或其他東西加載,那麼它沒有被定義。在您自己的應用程序中,您可以完全自由地定義像"$schema"這樣的參考模式。雖然其他工具不會自動提取,但對其他開發人員來說,顯然你在做什麼。

+0

[Json-schema.org](http://json-schema.org/latest/json-schema-core.html#anchor33)表示,如果MIME類型存在於標題中,建議添加一個配置文件將模式URI作爲Content-Type標頭的值。添加鏈接和配置文件都有問題嗎? – 2014-10-07 08:06:45

+0

不是我能看到的,儘管有些工具可能會添加模式兩次(或其他),這可能會導致重複的鏈接等。 – cloudfeet 2014-10-07 11:34:50

+0

您有什麼打算說'Link:'方式優於'Content-Type'辦法? – 2014-10-07 15:47:12