我目前正在从事一个项目,在该项目中,我正在处理大量来回传输并由浏览器存储为 javascript 对象列表的 JSON 数据。例如:
person: {
// Primary Key
key: "id",
// The actual records
table: {
"1": {id: 1, name: "John", surname: "Smith", age: 26},
"2": {id: 2, name: "Mary", surname: "Brown", age: 19},
// etc..
},
indexes: {
// Arrays of pointers to records defined above
"name": [
{id: 89, name: "Aaron", surname: "Jones", age: 42},
// etc..
]
}
我发现自己编写了各种索引和排序算法以有效地操作这些数据,我开始认为以前一定有人做过这种事情。
我有使用 Ext.data.Store 的经验和 Ext.data.Record用于执行这种数据操作的对象,但我认为它们对于初级开发人员来说过于复杂,而我正在从事的项目是一个小型移动应用程序,我们不能为此添加 300K+ 库,所以我需要一些非常简单的东西。
任何想法,如果有一个 Javascript JSON 操作框架具有以下内容:
- 可以存储,
- 检索,
- 排序,
- 和遍历 JSON 数据,
- 使用干净的 API,
- 最小的性能拖累(手机没有太多的计算能力)
- 和理想情况下 <10K 的小负载?
我可能要求太多了,但希望有人用过这样的东西......我正在寻找的东西是 jQuery 的 JSON 等价物,也许它不是那么古怪.
最佳答案
看看jsonQ
它满足了问题中指出的所有要求。
- 可以存储,
- 检索
- 并遍历 JSON 数据,
提供遍历(如find、siblings、parent等)和操作方法(value、append、prepend);
- 排序
提供直接数组排序方法和运行在jsonQ对象上的排序方法。 (两种排序方法递归运行)
- 使用干净的 API
尝试使用与 jQuery DOM API 相同的 JSON API。所以如果你熟悉 jquery。它很容易 catch 。更多完备documentation可用的 API。
- 最小的性能拖累
它在 jsonQ 初始化时为 JSON 数据创建了一种新格式,该格式在内部用于更高效地遍历数据。 (这就像一次拥有所有循环,因此您不必在每次 json 时都循环遍历循环)。
- 和理想情况下 <10K 的小负载?
缩小版为 11.7 kb。
关于Javascript JSON 数据操作库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9734362/