我正在使用Knockout構建一個應用程序。最終的結果是我想要重新啓動到服務器的JSON。但是,這些數據非常複雜,因此可以增長到幾MB。爲JSON添加「文件結尾」?
我在想,引入「文件結束」標記可能很明智,這樣如果有人關閉瀏覽器窗口或上傳被中斷,我可以相應地處理這種情況。
這對SO來說可能看起來太籠統了,但是正確的做法是什麼?在我尋找的服務器端的JSON末尾添加一個字符串?
我正在使用Knockout構建一個應用程序。最終的結果是我想要重新啓動到服務器的JSON。但是,這些數據非常複雜,因此可以增長到幾MB。爲JSON添加「文件結尾」?
我在想,引入「文件結束」標記可能很明智,這樣如果有人關閉瀏覽器窗口或上傳被中斷,我可以相應地處理這種情況。
這對SO來說可能看起來太籠統了,但是正確的做法是什麼?在我尋找的服務器端的JSON末尾添加一個字符串?
JSON可以解析,也可以不解析。如果上傳被截斷/截斷,無論如何你最終會得到一個無效的數據結構,所以EOF標記沒有意義。
例如
{'this':{'is':{'a':{'complex':'structure'}
^---upload terminates here.
唯一缺少}}}
末,所以它是無效的JSON和分析器將BARF就可以了。如果解析器barfs,你知道一些東西沒有解決。
除了我正在使用JSON並將其存儲在MYSQL數據庫中,所以服務器真的不知道任何關於JSON的內容。 – 2012-08-02 14:34:30
在插入之前,您可以通過json解碼器運行它。如果解碼失敗,則不要插入它。 – 2012-08-02 14:35:31
Marc B,你很聰明。 – 2012-08-02 14:37:51
'\ r \ n'?這就是Twitter所做的事情:https://dev.twitter.com/docs/streaming-apis/processing – 2012-08-02 14:33:05
如果我決定添加EoF,這是一個好主意。 – 2012-08-02 14:39:29