jquery - 如何将 JSON 对象流读入浏览器

标签 jquery node.js node.js-stream highland.js oboe.js

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

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

最佳答案

oboe.js 擅长逐步解析 http 请求。您要发送的内容似乎称为 JSON Lines。从技术上讲,oboe 仅支持接收单个有效的 JSON 对象或数组。但我发现你可以让它为你的数据工作:)

oboe('/data.json')
  .node('{id value}', function(x) {
    console.log('object', x)
  })
  .node('!', function(x) {
    console.log('root', x)
  })

您可以使用 oboe 来请求加载数据(它在底层使用 native XMLHttpRequest)。然后,您使用 node 为同时具有 id 属性和 values 属性的任何对象添加监听器,或者为具有以下属性的任何根级别对象添加监听器: !。请注意,您不必必须同时使用两者。

您可以查看工作示例 here和源代码here .

陷阱:如果您尝试使用 oboe 的 done 函数,需要注意的一件事是它会触发多次,每个对象一次。这是因为每个都将被解析为完整的有效对象。

关于jquery - 如何将 JSON 对象流读入浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219657/

相关文章:

javascript - 将时区偏移小时数转换为时区偏移(军事?)小时数

jquery - 从键值数组中获取值

node.js - 用于目录多语言应用程序的 Angular SEO

javascript - Sails.js:如何使用模型关联填充数组

javascript - 将 PNG 从 GET 请求转换为 Node.js 中的可读流

javascript - 计算一个静态输入字段和三个动态创建的输入 jQuery

jquery - 改变相对于 eq().. jQuery/JavaScript 的 css 属性

sockets - Socket.io 客户端请求源 URL

Node.Js Through2-修改流

javascript - 使用运行时逻辑链接 Node.js 流