NodeJS String.indexOf 缓慢,即使索引为 200/1000000

问题描述 投票:0回答:1

考虑 API 返回的长字符串化 JSON 对象(数百万个字符)。

因为我只需要根据它的键找到一些值,所以我的第一反应是解析它,然后直接选择它,但我发现它太慢了。

由于我要查找的键在所有属性中都是唯一的,并且位于开头(索引 200 左右),因此我尝试使用 indexOf(

"key":"
) 来解决它,然后自己获取值,但这也是慢(50毫秒),我不明白为什么。看起来 indexOf 仍在扫描整个字符串,并且在找到第一个索引在 200 左右后并没有停止。

这对我来说毫无意义,有人知道这里发生了什么吗?我可以自己实现它,但我认为这太过分了,我只是好奇。

javascript node.js string performance indexof
1个回答
0
投票

您可以使用任何第三方 JSON 流解析器,例如

https://www.npmjs.com/package/stream-json

解析一些初始数据块。

完整列表在这里:

https://github.com/nodejs/node-v0.x-archive/issues/7543#issuecomment-41970902

© www.soinside.com 2019 - 2024. All rights reserved.