我正在努力想出一种高效的方法,将静态数据存储在JSON中,以便在查询客户端使用它。
目前,这些数据由大约60个CSV文件组成,每个文件都有大约。每项2000-2200项。我解析这个数据服务器端,并有一个webservice来处理来自客户端的查询。如前所述,我希望能够将其移到客户端,以便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,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的尝试基于以下几点:
这意味着我有一个数组,它由大约一个数组组成。60个对象,这些对象平均有100个对象存储在其中。这100个对象中的每一个都有一个由20个对象组成的数组,每个条目包含实际值和一些额外的元数据。如你所见,我已经在120 K的物体上了.由此产生的缩小的json字符串为3mb。以下是小样本:
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样本数据为基础:
以上结果应该是39ES (行和标题之间的交叉引用)。
在这一点上,我认为这可能是一个好主意,获得一些建议,然后才走上这条道路。任何输入都很感谢=)
发布于 2013-11-14 09:44:00
您可以在这里进行一些优化:
https://stackoverflow.com/questions/19528859
复制相似问题