[英]Effecient method for structuring JSON data for querying
我正在嘗試提出一種在JSON中存儲靜態數據的有效方法,以便可以在客戶端查詢中使用它。
目前,此數據包含大約60個CSV文件,每個文件大約包含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,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個對象的數組,其中包括實際值和一些其他元數據。 如您所見,我已經有12萬個對象了……生成的縮小的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 (行與標題之間的交叉引用)
在這一點上,我認為在走這條路之前獲得一些建議可能是一個好主意。 任何輸入表示贊賞=)
您可以在此處進行一些優化:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.