2010-04-20 25 views
3

如果我從REST風格的Web查詢中返回[「foo」],哪個更合適?迂腐的REST解析會死在換行符上嗎?REST/JSON:我應該在JSON字符串之後包含換行符嗎?

["foo"]\n  (with newline, Content-Length=8) 
["foo"]  (no newline, Content-Length=7) 

爲了方便迴歸測試我喜歡用換行的形式,但我要確保我不會被打破,可能有REST格式的更加嚴格視圖中的任何應用程序框架。

回答

4

引用自RFC 4627,加粗相關部分強調。

JSON文本是一個令牌序列。這組令牌包括六個結構字符,字符串,數字和三個字面名稱。

JSON文本是一個序列化的對象或數組。

JSON-text = object/array 

這些是六個結構特徵:

begin-array  = ws %x5B ws ; [ left square bracket 

begin-object = ws %x7B ws ; { left curly bracket 

end-array  = ws %x5D ws ; ] right square bracket 

end-object  = ws %x7D ws ; } right curly bracket 

name-separator = ws %x3A ws ; : colon 

value-separator = ws %x2C ws ; , comma 

不重要的空白之前或之後的任何六種 結構特徵的允許的。

1

JSON應該是空白不敏感的。我想在技術上JSON.org的規範說「空白可以插入之間任何令牌對,」但解析器將不得不是非常迂腐,抱怨第一個令牌之前或最後一個空白。

相關問題