【问题标题】:Parse streaming JSON解析流式 JSON
【发布时间】:2014-03-01 06:30:19
【问题描述】:

我正在开发一个工具,它可以解析 Neo4j 响应并发出对象。

https://github.com/brian-gates/neo4j-stream-deserializer

我的问题:

  1. 如何处理错误?
  2. 有没有比两个解析器更好的方法来处理头文件?似乎是不必要的开销。

可能的错误响应如下所示:

{ message: 'Error explanation, ... other useful info ... }

完整示例:

https://gist.github.com/brian-gates/4a16e0aee13d6e549d52

成功响应如下所示:

{ columns: [], results: [] }

https://github.com/brian-gates/neo4j-stream-deserializer/blob/master/test/mock/neo4j_response.json

【问题讨论】:

    标签: json node.js parsing neo4j streaming


    【解决方案1】:

    您可能对 Oboe.js 感兴趣,我维护的一个库:Oboe.js on Github

    【讨论】:

    • 有计划支持 node 中的 Stream 接口吗?专门支持做类似 request(...).pipe(oboeStream).on('data', ...)
    • 是的,我会在有时间的时候添加它。同时,您可以通过执行 oboe(stream) 从任何流中读取。见oboejs.com/api#byo-stream
    【解决方案2】:

    尝试检查标题状态。如果不是 200 OK,则不要使用流式解析器,只需将错误转发给调用者即可。

    使用事务性密码端点变得更加棘手(如果有错误,它会以 200 响应,因为每个语句都可能有单独的错误),但使用普通密码端点应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2019-06-30
      • 2012-06-11
      • 2021-05-23
      • 1970-01-01
      • 2016-03-18
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多