Javascript JSON数据操作库

ajsxfq5m  于 2022-12-20  发布在  Java
关注(0)|答案(3)|浏览(108)

我目前正在做一个项目,处理大量的JSON数据,这些数据在浏览器中来回传输,并存储为javascript对象列表。

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.StoreExt.data.Record对象执行此类数据操作的经验,但我认为它们对于初级开发人员来说过于复杂,而且我正在处理的项目是一个小型移动的应用程序,我们无法承担仅仅为了它而添加300K以上的库,因此我需要一些非常小的东西。
如果有一个Javascript JSON操作框架具有以下特性,您有什么想法?
1.可储存
1.检索
1.排序
1.并迭代JSON数据,
1.使用清洁API
1.最小的性能拖累(移动设备的计算能力不强)
1.以及理想情况下小于10K的小有效负载?
我可能要求太多了,但希望有人使用过这样的东西...我正在寻找的东西是JSON等价的jQuery,也许它不是那么古怪。

wz3gfoph

wz3gfoph1#

看一看jsonQ
它满足了问题上提出的所有要求。

  • 可以存储,
  • 检索
  • 迭代JSON数据,

提供遍历(如查找,兄弟,父等)和操作方法(值,附加,前置);

  • 分类

提供一个直接数组排序方法和运行在jsonQ对象上的排序方法。(两个排序方法都递归运行)

  • 使用干净的API

使用与jQuery DOM API相同的JSON API是一种尝试。所以如果你熟悉jquery,很容易赶上。还有更完整的documentation API。

  • 最小性能阻力

它在jsonQ初始化时为JSON数据创建了一个新格式,该格式在内部用于更高效地遍历数据。(这就像一次拥有所有循环,因此您不必在每次json迭代时进行循环)。

  • 以及理想情况下小于10 K的小有效载荷。

缩小版为11.7kb。

8oomwypt

8oomwypt2#

其实你的问题并不好,从你的例子中可以看出,你是想用JSON来模拟类似SQL的存储,也许你只需要取IndexedDB就可以了。
jsonpath匹配您的确切需求的第4-7点(可能是第3点),JSON全局对象允许1和2,每个只调用一次。
此外,IMHO的要求是不真实的,特别是与最后一个关于大小。

olhwl3o2

olhwl3o23#

我想Lawnchair是你想要的,它的主页上说它是为移动的而设计的,但是我以前没有用过它,所以我不能对此发表评论。
这是一个简单的键-值存储,尽管你可以定义自己的索引,就像CouchDB一样。我还没有看到对选择器的支持,但是有一个查询插件,承诺很容易选择。
像jQuery这样的东西依赖于sizzle,sizzle是CSS选择器库,这不适用于您的情况。XPath在我看来是最好的选择,因为它主要用于XML,一种树结构。由于JSON对象可以表示为树,我找到了JSONSelect,一个小库,它以“CSS式”的方式支持JSON Xpath选择器。
如果您能够以某种方式将JSONSelect插入到Lawnchair中,我认为您已经找到了一个很好的组合:)

相关问题