2012-08-02 64 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