给定一个node.js样式的对象流,如下面的示例所示,如何通过网页上的http请求读取并处理它:
node.js
http
{"id":"one", "value":"the first object"} {"id":"two", "value":"the second object"} {"id":"three", "value":"the third object"}
zzwlnbp81#
渐进式解析http请求是oboe.js擅长的事情。你想要发送的东西看起来像是JSON Lines。从技术上讲,oboe只支持接收单个有效的JSON对象或数组。但我发现你可以让它为你的数据工作:)
oboe('/data.json') .node('{id value}', function(x) { console.log('object', x) }) .node('!', function(x) { console.log('root', x) })
您可以使用oboe来请求加载数据(它在后台使用本机XMLHttpRequest)。然后您使用node为同时具有id属性和values属性的任何对象添加侦听器,或者为任何具有!的根级别对象添加侦听器。请注意,您 * 不 * 必须使用两者。您可以在这里查看一个工作示例here和源代码。
oboe
node
id
values
!
done
1条答案
按热度按时间zzwlnbp81#
渐进式解析http请求是oboe.js擅长的事情。你想要发送的东西看起来像是JSON Lines。从技术上讲,oboe只支持接收单个有效的JSON对象或数组。但我发现你可以让它为你的数据工作:)
您可以使用
oboe
来请求加载数据(它在后台使用本机XMLHttpRequest)。然后您使用node
为同时具有id
属性和values
属性的任何对象添加侦听器,或者为任何具有!
的根级别对象添加侦听器。请注意,您 * 不 * 必须使用两者。您可以在这里查看一个工作示例here和源代码。
done
函数,有一件事值得注意,那就是它会多次触发,每个对象一次。这是因为每个对象都会被解析为一个完全有效的对象。