2017-10-05 91 views
0

對於標準JSON服務,內容類型預計爲application/json(請參閱What is the correct JSON content type?)。嚴格JSON對象的內容類型

由於null123"foo"是有效的JSON文件,任何生產application/json服務alowed返回那些爲體之一。

如果我想以確保服務將返回一個有效的JSON對象一個有效的JSON 陣列?有效對象

實例無效對象

123 

{} 

{ 
    "foo": "bar" 
} 

實例

null 

[ 
    { "foo": "bar" } 
] 

(這個會是一個有效的數組)

+0

我會等待專家回答,但我猜這是沒有的。由於我們正在處理HTTP,它只是文本,所以即使客戶端將「Accept」頭作爲「application/json」發送(即,這將是一種不好的做法),我也可以以XML格式發送響應。我想確保這是一個有效的JSON的唯一方法是驗證客戶端的響應。 –

+0

這也是我的第一個猜測。但是我在所有的RFC中都有點迷路,所以如果有意外的話...... –

回答

0

您可以使用JSON Schema來定義所期望的響應,有效的JSON文件和應用您希望在見到嚴傳入的迴應。您可以根據定義的JSON模式驗證傳入響應。有許多JSON Schema驗證器可用於開源。如果你使用node.js,jsonschema是一個很好的模塊。您可以在JSON模式定義非常嚴格,如使用additionalProperties: false等。