Javascript 构造用于查询的JSON数据的有效方法
我正试图找到一种高效的方法,将静态数据存储在JSON中,以便在客户端查询中使用 目前,该数据由大约60个CSV文件组成,每个文件大约有2000-2200个条目。我在服务器端解析这个数据,并有一个Web服务来处理来自客户端的查询。如前所述,我希望能够将其移动到客户端,以便web应用程序可以使用应用程序缓存离线工作 下面是一个小样本数据:Javascript 构造用于查询的JSON数据的有效方法,javascript,arrays,json,csv,data-structures,Javascript,Arrays,Json,Csv,Data Structures,我正试图找到一种高效的方法,将静态数据存储在JSON中,以便在客户端查询中使用 目前,该数据由大约60个CSV文件组成,每个文件大约有2000-2200个条目。我在服务器端解析这个数据,并有一个Web服务来处理来自客户端的查询。如前所述,我希望能够将其移动到客户端,以便web应用程序可以使用应用程序缓存离线工作 下面是一个小样本数据: Battle Axe,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 150,19EK,21EK,23EK,
Battle Axe,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1
150,19EK,21EK,23EK,25EK,33ES,33ES,36ES,36ES,34ES,36ES,40ES,40ES,34ES,34ES,39ES,42ES,38ES,41ES,44ES,46ES
149,19ES,21ES,23ES,25ES,33ES,33ES,36ES,36ES,34ES,36ES,40ES,40ES,34ES,34ES,39ES,42ES,38ES,41ES,44ES,46ES
148,19EK,21EK,23EK,25EK,33ES,33ES,36ES,36ES,34ES,36ES,39ES,40ES,34ES,34ES,39ES,42ES,37ES,40ES,44ES,45ES
147,19ES,21ES,23ES,25ES,33ES,32ES,35ES,35ES,33ES,35ES,39ES,39ES,33ES,33ES,38ES,41ES,37ES,40ES,43ES,45ES
我最初尝试转换为JSON的原因如下:
- 每个文件都是一个JSON对象(让我们称这个对象为“武器”)
- 文件中的每一行都是另一个JSON对象,存储在相应武器对象下的数组中
- 行的每个条目都存储在row对象下的固定长度数组中
- 所有“武器”对象都存储在一个数组中
var weapon =
{
Name: 'Broadsword',
HitEntries: [
{
High: 150,
Low: 150,
Unmodified: false,
Hits: [ { Hits: '12', Critical: 'CK', Fail: false},...,{ Hits: '1', Critical: '', Fail: false}]
},
...
{
High: 50,
Low: 47,
Unmodified: false,
Hits: [ { Hits: '3', Critical: '', Fail: false}]
}
]
}
下面是将要运行的查询的示例。它将基于上面显示的示例数据csv:
- 选择战斗斧武器
- 为卷(行)选择值147
- 铠装类型(列标题)选择的值为9
在这一点上,我决定在走这条路之前征求一些建议可能是个好主意。欢迎任何输入=)您可以在此处进行一些优化:
微风与你的兴趣相关吗?Rich data for JavaScript apps是BreezeI在查询部分研究了Breeze和jLinq,但在这个阶段,我更感兴趣的是确保我拥有最高效的数据结构,因为这种数据效率是数据结构和查询算法的组合,我认为,除非您知道如何查询数据,否则您无法在优化查询数据方面做得特别有效。还有,多少优化就足够了?除非你得到一些性能指标,否则你不会知道这一点。你可能正在尝试在这里应用一些过早的优化?也许。我想目前我无法摆脱数据的规模。我来试试看,看我怎么做