考虑 API 返回的长字符串化 JSON 对象(数百万个字符)。
因为我只需要根据它的键找到一些值,所以我的第一反应是解析它,然后直接选择它,但我发现它太慢了。
由于我要查找的键在所有属性中都是唯一的,并且位于开头(索引 200 左右),因此我尝试使用 indexOf(
"key":"
) 来解决它,然后自己获取值,但这也是慢(50毫秒),我不明白为什么。看起来 indexOf 仍在扫描整个字符串,并且在找到第一个索引在 200 左右后并没有停止。
这对我来说毫无意义,有人知道这里发生了什么吗?我可以自己实现它,但我认为这太过分了,我只是好奇。
您可以使用任何第三方 JSON 流解析器,例如
https://www.npmjs.com/package/stream-json
解析一些初始数据块。
完整列表在这里:
https://github.com/nodejs/node-v0.x-archive/issues/7543#issuecomment-41970902