2012-08-02 48 views
0

我正在使用Knockout構建一個應用程序。最終的結果是我想要重新啓動到服務器的JSON。但是,這些數據非常複雜,因此可以增長到幾MB。爲JSON添加「文件結尾」?

我在想,引入「文件結束」標記可能很明智,這樣如果有人關閉瀏覽器窗口或上傳被中斷,我可以相應地處理這種情況。

這對SO來說可能看起來太籠統了,但是正確的做法是什麼?在我尋找的服務器端的JSON末尾添加一個字符串?

+0

'\ r \ n'?這就是Twitter所做的事情:https://dev.twitter.com/docs/streaming-apis/processing – 2012-08-02 14:33:05

+0

如果我決定添加EoF,這是一個好主意。 – 2012-08-02 14:39:29

回答

2

JSON可以解析,也可以不解析。如果上傳被截斷/截斷,無論如何你最終會得到一個無效的數據結構,所以EOF標記沒有意義。

例如

{'this':{'is':{'a':{'complex':'structure'} 
              ^---upload terminates here. 

唯一缺少}}}末,所以它是無效的JSON和分析器將BARF就可以了。如果解析器barfs,你知道一些東西沒有解決。

+0

除了我正在使用JSON並將其存儲在MYSQL數據庫中,所以服務器真的不知道任何關於JSON的內容。 – 2012-08-02 14:34:30

+1

在插入之前,您可以通過json解碼器運行它。如果解碼失敗,則不要插入它。 – 2012-08-02 14:35:31

+0

Marc B,你很聰明。 – 2012-08-02 14:37:51