问题标签 [jsonstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
155 浏览

javascript - 如何使用 fs 和 JSONStream 写入一个巨大的文件而不触发 RangeError: 超出最大调用堆栈大小

我在这里所做的是尝试用其他东西替换 JSON.stringify() 以避免 RangeError。我找到了下面的方法。

这是我的代码:(我使用big-json模块,这个模块为 stringify 实现了json-stream- stringify)

我尝试打印str,它会逐行打印字符串类型的数据,我的问题是:如何将完整str 的写入文件?我试图在fs.writefileSync()之后添加console.log(),它只会写在str. 对不起,我是流和 node.js 的新手。Hvae 不知道如何解决它。

另一个问题是,我能找到一种方法来重新格式化输出字符串JSON.stringify(data, null, 2)吗?

仅供参考:数据是一个非常深的对象。没有循环,但可能有重复的部分。而且我更喜欢保持一切不变而不是修剪。

非常感谢这里的任何帮助!感谢您的时间。

0 投票
1 回答
1071 浏览

node.js - 如何在 NodeJS 12 Lambda 函数中使用 async/await 将 S3 JSON 文件流式读取到 postgreSQL?

我没有意识到这么简单的任务会有多么危险。我们正在尝试流式读取存储在 S3 中的 JSON 文件——我认为我们已经完成了这部分工作。我们的.on('data')回调被调用了,但是 Node 挑选并选择了它想要运行的位——似乎是随机的。

我们设置了一个流阅读器。

有时 db 调用会到达 db——但大多数时候它不会。我得出的结论是 EventEmitter 在异步/等待事件处理程序方面存在问题。只要您的代码是同步的,它似乎就会与您的异步方法一起播放。但是,在您等待的时候,它会随机决定是否实际执行此操作。

它流式传输各种块,我们可以console.log将它们输出并查看数据。但是一旦我们尝试触发等待/异步调用,我们就会停止看到可靠的消息。

我在 AWS Lambda 中运行它,有人告诉我有一些特殊考虑,因为它们显然在某些情况下会停止处理?

我尝试在 IFFY 中包围 await 调用,但这也不起作用。

我错过了什么?有没有办法告诉 JavaScript——“好的,我需要你同步运行这个异步任务。我的意思是——也不要再触发任何事件通知。只是坐在这里等待。”?

0 投票
1 回答
1062 浏览

python - 如何在 Python 中读取 .xz 文件?

我正在从网络上下载以 .xz 结尾的文件。它说它们是 JSONstrean 文件。

有没有办法在 Python 中读取这些文件,例如 CSV 文件?

0 投票
1 回答
164 浏览

javascript - 管道后的代码未在节点js readstream中执行

我有 JSON 如下customers.json

在输出中为什么在“end”、“close”之前打印“In then”。事件。

如何在“结束”、“关闭”事件之后获得“In then”或“In Catch”。

我如何以同步方式执行 run() 方法。

0 投票
1 回答
238 浏览

python - readline() 方法给出错误:AttributeError: 'tuple' object has no attribute 'readline'

我正在使用 jsonstreams.Stream 方法使用 Python 2.7 将数据输入到 json 文件中,但是在尝试使用 readline() 方法从 PIPE 输入中读取数据时出现错误。该错误指出AttributeError: 'tuple' object has no attribute 'readline'

我希望 output_log.json 的内容看起来像这样:

0 投票
1 回答
129 浏览

json - Firebase 工具:如何在使用大 JSON 文件设置数据库时避免“内存不足”错误?如何通过 firebase-tools 流式传输 JSON?

firebase-tools我们有一个 GitHub 操作,它使用(我们使用的是最新版本9.11.0)包将数据从一个 Firebase 项目复制到另一个项目:

这一直很好,直到我们的数据变得更大,现在我们收到以下错误:

作为临时修复,我们也能够应用节点--max-old-space-size标志,这只会增加节点进程可用的内存:

考虑到我们的数据将不断增长,我们希望实施一个适当的修复,在我的理解中,这将是通过流式传输JSON 来设置数据。但是,我不确定是否firebase-tools允许这样做。搜索 Github 问题并没有产生任何有用的信息。

也许除了流式传输之外,还有另一种有用的方法可以在设置之前将巨大的 JSON 文件拆分成块?

谢谢!

0 投票
0 回答
18 浏览

json - 我必须将数据包中的大 json 异步发送给具有会话并记住发送的数据包的多个用户

问题陈述:我们有一个很大的静态 json 文件,并且不止一个用户想要访问这个 json 数据进行一些处理。但我们面临的问题是,这个 json 文件包含大量数据,一次性发送这些数据会使我们的系统变得超级慢。任务:

  1. 尝试以一系列补丁(数据包)的形式发送数据。
  2. 这些数据将被多个用户访问,因此您还需要存储一些有关哪个用户访问了哪个补丁的信息。
  3. 创建一个环境,每个用户将异步接收数据而没有任何等待超时。
  4. 当用户向套接字发送“START”时,它应该发送第一个补丁,当用户发送“NEXT”时,websocket 应该发送下一个补丁。

注意:请记住,此数据由多个用户同时获取,因此需要相应地保存会话。

0 投票
0 回答
86 浏览

python - 从 s3 存储桶流式传输 json 文件

所以,我已经将一个 json 文件上传到 s3 存储桶中。但是,当我使用 python 使用 get() 方法检索它时,它给了我文件的 type(str) 而不是 json 文件。如果我下载它,我可以获得一个 json 文件。但是,实际文件太大而无法下载。我想稍后使用 json_stream 处理和验证 json 文件,如果我以 str 格式获取文件,这是不可能的。但是,如果不下载文件,我只会得到一个字符串。我知道我可以使用 json_loads 将 str 转换为 json,但是,我不想这样做,因为我正在创建一个验证器,它将使用 json_stream 验证文件的 json 语法。还有其他方法吗?

0 投票
1 回答
99 浏览

node.js - 如何在node.js服务器流式传输http resquest中处理JSON流响应数组

流响应的形式为

如果我使用node-fetch流功能来获取,迭代response.body,块数据被随机切割对象。我无法解析它。我猜node-fetch不支持 json 数组,并且无法识别[, ].

如何处理json的流式数组?或任何其他 3rd 方库?示例代码:

0 投票
1 回答
138 浏览

node.js - 无法使用 node-fetch 解析 json 流

node-fetch我从流功能运行示例代码。有时它可以成功解析块,有时返回错误消息SyntaxError: Unexpected token { in JSON at position 312

有谁知道为什么?我可以依赖大块吗?