2

给定node.js如下示例所示的样式对象流,如何通过http网页上的请求读取并处理它:

{"id":"one",   "value":"the first object"}
{"id":"two",   "value":"the second object"}
{"id":"three", "value":"the third object"}
4

1 回答 1

3

oboe.js擅长逐步解析 http 请求。您要发送的内容似乎称为 JSON Lines。从技术上讲,双簧管仅支持接收单个有效的 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属性的对象添加侦听器,或者为任何具有!. 请注意,您不必同时使用两者。

您可以在此处查看工作示例和源代码。

Gotcha:如果您尝试使用双簧管的功能,需要注意的一件事done是它会触发多次,每个对象触发一次。那是因为每个都将被解析为一个完整的有效对象。

于 2016-11-06T20:55:08.593 回答