解析“流” JSON

Don*_*lor 5 javascript jquery json spring-mvc jackson

我在浏览器中有一个网格。

我想通过JSON将数据行发送到网格,但是浏览器应在接收到JSON时不断对其进行解析,并在解析行时将其添加到网格中。换句话说,不应在接收到整个JSON对象之后立即将所有行添加到网格中,而应在接收时将它们添加到网格中。

这可能吗?特别是使用jQuery,Jackson和Spring 3 MVC?

这个想法有名字吗?我只在网上稀疏地记录了这个想法。

str*_*str 5

您可以使用为此用例构建的Oboe.js。

Oboe.js 是一个使用流加载 JSON 的开源 Javascript 库,结合了 DOM 的便利性和 SAX 的速度和流动性。

它可以将任何 JSON 解析为流,小到足以成为一个微型库,没有依赖关系,并且不关心您需要它与哪些其他库对话。

  • 似乎找不到文档。他们的网站已关闭 (7认同)

Ale*_*pin 2

您无法使用浏览器的JSON.parse. 如果您正在流式传输文本,它总是会在某个时刻尝试解析无效的 JSON,这将导致它失败。那里存在流式 JSON 解析器,您也许能够找到适合您需求的东西。

对于您的情况,最简单的方法仍然是为每行发送完整的 JSON 文档。

  • 我认为 Github 上的一些项目会不同意: https://github.com/dscape/clarinet https://github.com/creationix/jsonparse https://github.com/dominictarr/JSONStream 解析流式 JSON 是可能的 - 可能不过不适合初学者,而且这些都是 Node.js 项目,我不知道他们有什么样的浏览器支持。 (5认同)