高效灵活的 Javascript 库来查询允许聚合的大型 JSON 文件?

Efficient and flexible Javascript library to query large JSON files that allows aggregation?

我在前端处理具有深层层次结构的大型 json 文件,我希望能够有效地查询和聚合它们,就像我查询 mongoDB 或 redis 集合一样。

我知道两个图书馆:

  1. Minimongo 我不确定是否可以在不使用整个 Blaze/Meteor 框架的情况下独立使用。
  2. JSLINQ

还有其他建议、技巧吗?

编辑:

还有另一个名为 json:select() 的库,它提供了一个类似于 CSS 选择器的 API

JSONSelect 怎么样(css-类似于 json 数据的选择器)?

JSONPath(xpath-like API for JSON)

此外,如果您的 JSON data/files 非常大,您可以考虑一些 streaming JSON library

为了效率 可以检查 tests on jsperf 各种 json-选择器库(下面的示例)

  1. jsperf:json-select
  2. jspath vs JSONSelect vs jsonpath
  3. 一个也可以create custom jsperf tests for specific cases

对于size,各个库可以根据codebase(+dependencies) size

例如,请注意 minimongo 的依赖项列在项目页面中,因此从这个意义上讲,仅包含此任务是一个相当大的代码库。

然后选择库取决于效率与大小的标准。

一个blog post (2012) on "8 ways to query json structures"

  1. JsonSQL
  2. JsonPath
  3. jfunk
  4. TaffyDB
  5. linq.js
  6. objeq
  7. JsonSelect
  8. Javascript Array Filtering